Просмотр полной версии : TR-DOS Navigator (TRDN)
Мне тоже пришли в голову эти идей. А первый вариант, по сути, и использовался до версии 0.75. Но может быть можно выработать решение годное одновременно и для Скорпиона, и для DivIDE?
Известно ли кому-нибудь, что именно делает команда RST 8 \ DEFB #81 в DivIDE?
Исходников esxDOS к сожалению нет, есть открытая система unodos3 использует API esxDOS.
Где то ещё была документация неофициальная , попробую найти.
https://zx.itch.io/unodos3
pavel_1977
11.09.2019, 13:59
Добрый день!
А возможно сделать драйвер памяти для Scorpion 1024k?
А возможно сделать драйвер памяти для Scorpion 1024k?Он есть. :)
Драйверы верхней памяти (во вложении) предназначены для компьютеров Scorpion 1024 и Scorpion GMX и поволяют подключить дополнительные банки памяти. Не подключаются: RAM8 - которвй использует Теневой монитор и RAM15 - где может быть MagOS. Драйвер для Scorpion 1024 способен подключать 60 страниц памяти, а для Scorpion GMX - 124, однако, в действительности для копирования всего 80-и дорожечного двухстороннего диска за один проход достаточно только 41 страницы.
drv1msc.zip: drv1msc.drv - драйвер верхней памяти Scorpion 1024
drv1mscS.drv - драйвер верхней памяти Scorpion 1024 и часов реального времени контроллера SMUC
drv_gmx.zip: drv2mGMX.drv - драйвер верхней памяти Scorpion GMX
2mGMXSMU.drv - драйвер верхней памяти Scorpion GMX и часов реального времени контроллера SMUC
Во вложении также имееются и исходные ассемблерные тексты драйверов.
ВНИМАНИЕ!!! Драйверы не предназначены для работы со SMUC HDD!!!
pavel_1977
16.09.2019, 10:12
Работает, спасибо. только часов теперь нет. можно их добавить?
Добавил драйвер для часов и обновил свое предыдущее сообщение.
CityAceE
28.10.2019, 18:37
Обновление коммандера в первом сообщении! Все благодарности Grand'у! Исходники свежей версии будут чуть позже.
Code-версия и TR-DOS-версия поставляются теперь в одном пакете. В Руководство добавлено описание code-версии.
Для тех, кому не нужен функционал Скорпиона, мы выпустили исправленную V0.74b - последнюю без поддержки SMUC HDD.
CityAceE
31.10.2019, 18:54
В первое сообщение добавлены исходники последней версии.
Это уже третья редакция нашего комплекта исходных ассемблерных пекстов.
в ней сделано:
Включены исходники V0.75.4bC.
Исправлены найденные ошибки в сопроводительной документации.
Новая редакция файлов: DirSys.WRD, TRDN.WRD и TRDN_C.WRD (в образе TRDN0754bC_src.TRD).
В comments.txt (в образе TRDN0754bC_src.TRD) добавлены разделы: "Работа TRDN в конфигурации 48K" и "Используемые подпрограммы ПЗУ"; в разделе "Карта памяти при работе TR-DOS Navigator'а" добавлено
описание об использовании рабочих областей.
Нас спрашивали в электронном письме, почему версия в исходных ассемблерных пекстах имеет не такой номер, как в релизе.
Версии V0.75.1bC и V0.75.4bC существуют только в виде исходников и созданы для публикации. Они отличаются (соответственно - V0.75.1bC от V0.75bC и V0.75.4bC от V0.75.3bC) тем, что после компиляции получаются не упакованными, Во всем остальном они идентичны.
В программе есть понятие "драйвер консоли"? Что бы можно было поддержать расширенные экраны. Могу попробовать написать драйвер для экрана Профи с поддержкой размерности 64х30 и 80х30.
В программе есть понятие "драйвер консоли"?К сожалению, нет. Но все , что при работе TRDN показывается на мониторе, выводится текстовым способом на графический экран. В теории можно адаптировать и под текстовый, но на деле эта задача может оказаться трудоемкой
К сожалению, нет. Но все , что при работе TRDN показывается на мониторе, выводится текстовым способом на графический экран. В теории можно адаптировать и под текстовый, но на деле эта задача может оказаться трудоемкой
У Профи нет текстового экран. Он так же эмулируется на графическом за счёт драйвера.
Тогда отложим идею, одно дело переписать специализированный драйвер, другое править нутря общего кода. Сейчас с группой в ВК закончу и вернёмся к вопросу.
В программе есть понятие "драйвер консоли"?
К сожалению, нет.Тогда отложим идею, ...Вообще же, если кто-то решиться адаптировать TRDN к другому экрану, лучше взять исходники предыдущей версии 0.74b, так как последняя версия 0.75b уже заточена под Scorpion.
Мы адаптировали исходные ассемблерные тексты и предыдущей версии для SjASMPlus Z80 Cross-Assembler v1.07 RC7 (https://zx-pk.ru/threads/447) - она получила обозначение V0.74.3bC, и является релоцируемой code-версией.
PS обновленные исходники перенесены сюда.
Grand, Спасибо, скачал. Но пока просто положил в архив. Свободного времени пока нет. :(
Вышла вторая версия моего Scorpion ProfROM Test (смотрите это сообщение).
В тесте применена новая процедура детектирования Скорпиона. Также теперь определяется еще и тип компьютера (ZS256/1024/GMX).
Запускайте тест на своих реальных Скорпионах :) и ообщайте здесь о результатах. Нам важно знать пользуется ли кто-нибудь ПрофПЗУ версий не 3.9f (код 94) и не 4.01 (код 97). Подробнее о версиях сказано в документе «Краткое описание функций Профессионального расширения теневого сервис-монитора компьютера Scorpion ZS 256 Turbo» (V1.3) (http://era-cg.su/grands/zxdoc.htm#zs).
Можно попробовать запустить тест и на не Скорпионах. В этом случае должно стабильно выдаваться сообщение системы ZX Spectrum "Q Paremetr error".
и на реале, и на эмуле пользуюсь версией 4.01 (97)
На реальном GMX пишет: Scorpion GMX, ProfROM 100 от 18.10.98.
Согласно результатам наших форумчан получается, что сейчас в ходу только она версия 4.01 на Scorpion с ПрофПЗУ и только одна версия G5.00 на Scorpion GMX.
В TR-DOS Navigator'е процедура подсчета контрольной суммы сектора эмуляции для версий 3.9f и 4.01 вызывается из ROM7; это оказалось сделать не сложно.
Сейчас TR-DOS Navigator не имеет поддержки Scorpion GMX; а ее необходимо сделать. Знает ли кто-нибудь, как переключаются страницы ПЗУ в Scorpion GMX?
Вот тут выкладывали документацию https://zx-pk.ru/threads/31334-gmx-(grafic-memory-expander)-svodnaya-tema.html
Обычные порты 7FFD, 1FFD и ещё 7EFD.
А ещё я методом тыка определял как включить и выключить экран 640*200 и при этом включить правильную прошивку компа. В порт 7EFD записать число #C8, а обычный экран #C0.
Я все от туда скачал. Поищу еще. А другого описания нет? :)
Какое-то время назад была затронута проблема о том, что TR-DOS Navigator версии 0.75 не совсем точно олределяет Скорпион, точнее принимает за него ZX Spectrum +3 с DivIDE, поскольку тот тоже использует рестарты RST8 \ DB #81.
Я написал другую процедуру детектирования Скорпиона, которая должна работать правильно.
Эта процедура уже используется в новом Scorpion ProfROM Test V2. Поэтому приглашаю желающих протестировать работу этой программы на других Spectrum-совместимых компьютерах. Если Scorpion ProfROM Test V2 запускается не на Скорпионе, то должно всегда выдаваться сообщение системы ZX Spectrum "Q Parameter error".
Новая процедура детектирования Скорпиона такая (ниже даны комментарии):
;Детектирование Scorpion'а, 2019.
;Процедура должна нажодиться ниже адреса #C000!
DI
;Предполагается, что к этому моменту конфигурация памяти: ROM1, RAM0
LD BC,#1FFD
LD HL,#00F1
OUT (C),H ;*1
LD D,(HL) ;*2
LD E,2
OUT (C),E :*3
LD A,(HL) ;*4
CP D ;*5
OUT (C),H ;*6
LD B,#7F ;
LD A,#10 ;
OUT (C),A ;
JR Z,$+5
LD (23388),A;*7
*1 - В порт #1FFD записывается #00. На компьютерах типа Pentagon и фирменном ZX Spectrum 128 подключится ROM0 и RAM0, на Скорпионе и ZX Spectrum +3 останется прежняя конфигурация (ROM1 и RAM0).
*2 - В регистр D помещается содержимое ячейки по адресу #00F1 для образца.
*3 - В порт #1FFD записывается #02. На Пне и ZX Spectrum 128 подключится ROM0 и RAM2, на Скорпионе - ROM2, а на ZX Spectrum +3 вывод этого значения в порт не имеет смысла и конфигурация остается прежней.
*4 - В A помещается число из #00F1 - для Скорпиона это код версии.
*5 - Сравнение с ранее считанным числом в D - если значения равны (Z=1), значит ROM'ы не переключались и компьютер не Скорпион.
*6 - Восстановление прежней конфигурации, если было ее переключение.
*7 - Для Скорпиона уствновка системной переменной BANKM, чтобы после вызовыов RST 8 включался экран 0.
Если ни у кого нет других предложений, то эта процедура детектирования Скорпиона будет включена в новую версию TRDN.
Dart Alver
23.06.2020, 17:34
В порт #1FFD записывается #00. На компьютерах типа Pentagon и фирменном ZX Spectrum 128 подключится ROM0 и RAM0, на Скорпионе и ZX Spectrum +3 останется прежняя конфигурация (ROM1 и RAM0).
Ну х.з. в большинстве наверно так и будет, если не добавлены доработки какие, типа полной дешифрации. Я бы на всякий выставил эту конфигурацию через порт #7FFD
А вообще я как раз и переделывал автоопределялку памяти для BGE 3.12 demo для отсечки косяков с портом #1FFD на +2A, +3.
Правда не расширял определение памяти больше 1024 K (влом было да памяти на таблицу пожалел )) ) и ловил +2A, +3 на замене 5-го сегмента в позиции #4000, поэтому пихал код и стек при автоопределении во 2-й сегмент (#8000-#BFFF).
Вроде пока работает без нареканий. ))
Вот тут выкладывал её отвязанный от BGEшных особенностей код :
https://zx-pk.ru/threads/30887-opredelenie-tipa-kompa-i-rasshirennoj-pamyati.html?p=1051919&viewfull=1#post1051919
Я бы на всякий выставил эту конфигурацию через порт #7FFDПредполагается, что перед работой процедуры уже выставлены ROM1 и RAM0, и работает она ниже #C000.
;Процедура должна нажодиться ниже адреса #C000!
...
;Предполагается, что к этому моменту конфигурация памяти: ROM1, RAM0
Я просто не вставил эти команды в листинг. Также в TRDN останется возможность принудительного отключения функционала Скорпиона, как в текущей версии.
В настоящее время ведется работа над новой версией TR-DOS Navigator'а. В ней будет реализована поддержка компьютера Scorpion GMX с версией Теневого монитора (ТМ) G5.00.
Приглашаем всех желающих, в первую очередь владельцев компьютера Scorpion GMX с контроллером SMUC и HDD, принять участие в тестировании TRDN. Также приглашаются владельцы "обычных" компьютеров Scorpion - их мнение не менее ценно для нас.
В данной тестовой версии процедура монтирования псевдодисков осталась прежней, но изменена процедура подсчета контрольной суммы "сектора эмуляции", вызываемая из ROM с учетом типа компьютера. Эта тестовая версия проверялась мной на реальных компьютерах: Scorpion ZS 256 Turbo с ProfROM и ZX Evolution в конфигурации Scorpion GMX.
Необходимо проверить надежно ли происходит монтирование псевдодисков SMUC HDD на реальном компьютере Scorpion GMX. Также обращайте внимание на все особенности работы, удобство управления, орфографию и т.д., и сообщайте о найденных ошибках тестовой версии в данной теме на нашем Форуме.
При тестировании лучше на всякий случай использовать HDD-носитель без важных данных или сделать его резервную копию.
Тестовая версия не является законченным продуктом, поэтому не распространяйте ее.
Если вы не знакомы с TRDN, изучите его последнюю официальную версию; она доступна в первом сообщении данной темы (http://zx-pk.ru/threads/2952).
Тестовая версия представляет собой С-файл "альтернативного magic'а" ТМ Скорпиона.
Способ запуска и условия тестирования.
Тестовая версия стартует с пустыми файловыми панелями.
Вставьте в привод дискету TR-DOS (можно примонтировать псевдодиск SMUC HDD) и нажмите на клавиатуре буквенную клавишу, соответствуюшую имени привода ("A"..."D"). Можно вызвать меню устройств клавишами SS/1 или SS/2 и выбрать привод из него.
Если будет возможность, сделайте систему драйверов, что бы их можно было переписать другое железо.
Я бы мог попробовать написать драйвер для экрана Профи.
Пока что проблем с монтированием не заметил. Заметил что не запускается через бейсик загрузчик. А из монитора норм.
Ещё при размонтировании после нажатия SS+Z сообщение о подтверждении жду секунды 3. Может это притормаживает контроллер клавиатуры, у него такое бывает.
При переименовании диска доступно 8 символов + 3 расширение. Необычно немного. Вроде бы стандартно 10 символов всего.
Заметил что не запускается через бейсик загрузчик.К сожалению, это очередной мелкий баг Теневого монитора. Насколько я понял, имя дисковода, выставленное в Disk utility, должно совпадать с именем дисковода, с которого мы грузимся.
...после нажатия SS+Z сообщение о подтверждении жду секунды 3. Может это притормаживает контроллер клавиатуры...Нет, дело в другом. Окно "Dismount" появляется после отпускания клавиш. Постараюсь это исправить.
...8 символов + 3 расширение. Необычно немного. Вроде бы стандартно 10 символов всего.Можно задействовать и 11-й, если в его коде 7-й бит будет установлен. Поэтому в TRDN это используется.
- - - Добавлено - - -
Если будет возможность, сделайте систему драйверов, что бы их можно было переписать другое железо.Tут проблема в том, что очень мало осталось свободного места.
Я думаю, можно начать адаптацию и без этого. Сначала надо переписать подпрограммы печати и рисования окон. Мы готовы помогать в этом вопросе.
Можно же вести работу постепенно, когда есть вдохновение. :)
Для переделки лучше всего подходит версия 0.74b, как я писал ранее здесь.
- - - Добавлено - - -
Если будет возможность, сделайте систему драйверов ...
Я бы мог попробовать написать драйвер для экрана Профи.Ну а саму структуру драйвера для экранов мы могли бы обсудить и сейчас. Как он должен выглядеть?
Кто как думает?
Ну а саму структуру драйвера для экранов мы могли бы обсудить и сейчас. Как он должен выглядеть?
Кто как думает?
В наличие есть исходники нескольких драйверов консоли под CP/M.
Сам драйвер должен обеспечивать минимальный уровень железо зависимых операций, с поддержкой некого объемы команд управления. По этому ИМХО лучше всего взять за основу один из существующих стандартов терминалов и реализовать его. При наличии исходников для CP/M, можно взять этот стандарт.
Вот описание одного из драйверов
╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞ ╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞ ╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞╞ ╞╞╞╞╞╞╞╞╞╞
²²²²²²²²²²²² Драйвер дисплея DSPK.DRV ²²²²²²²²²²²²²²²²²²
╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛ ╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛ ╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛╛ ╛╛╛╛╛╛╛╛╛╛
Copyright(c) Oct-1992 by Крестьяников А.А.
■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■
Драйвер DSPK.DRV ( DiSPlay driver ) - драйвер дисплея,
работающий в составе Concurrent BIOS; он максимально совмес-
тим с KCO6430 ( и несколько менее с SCO... ), но обеспечива-
ет более полное использование аппаратных ресурсов машины (
ESC+a,b,c,d,e ); кроме того, изъяты ( ESC+E,N,O,U,s ) или
модифицированы ( ESC+F,G ) некоторые архаичные функции.Более
подробное описание точек входа в драйвер и стандартные мак-
росы для работы с дисплеем ( и, кстати, звуком ) интересую-
щиеся могут посмотреть в файлах DSPK.H, BIOS.H, DRIVER.H.
Мнемоники управляющих символов описаны в CHARS.H .
²²²²²²²²²²²²²²²²²²²²²²²²² ²²²²²²²²²²²²²²²²²²²²²²²²² ²²²²²²²²²²
Управляющие символы и ESC-последовательности
Управляющие ( имеющие код 0..1FH ) символы полностью
соответствуют тому, что было во всех предыдущих версиях,
начиная с SCO... ESC-последовательности частично изменены
( ESC-последовательность - последовательность символов,
начинающаяся с символа ESC ( 1BH ) ). Далее приводится их
описание с исчерпывающими примерами использования, сгруппи-
рованное по их функциям ( .OUTCHAR и .BEEP - стандартные
макросы, описанные в файле DSPK.H ). Модифицированные функ-
ции помечены '*', удаленные '-', добавленные '+'.
■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■
Первый символ ESC-последовательностей
1BH ^[ ESC Эскейп ( Escape, отмена ). Далее ESC-последова-
тельности будут представлены в виде ESC+символ
или ESC+символ+символ...
■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■
Перемещение курсора
08H ^H LFT Перемещение курсора вправо, влево, вверх и вниз.
ESC+D .OUTCHAR LFT .OUTCHAR RGT
18H ^X RGT .OUTCHAR UP .OUTCHAR DN
ESC+C курсор возвратился на исходую позицию
19H ^Y UP .OUTCHAR ESC .OUTCHAR 'D'
ESC+A .OUTCHAR ESC .OUTCHAR 'C'
1AH ^Z DN .OUTCHAR ESC .OUTCHAR 'A'
ESC+B .OUTCHAR ESC .OUTCHAR 'B' алогично
09H ^I TAB Табуляция - перемещение курсора на ближайшую
справа позицию, кратную восьми. Например,если он
изначально находился на знакоместе 53 , то
.OUTCHAR TAB знакоместо 56
.OUTCHAR TAB знакоместо 0 следующей строки
0AH ^J LF Перевод строки ( LineFeed ) - перемещение курсо-
ра вниз; аналогична DN ( 1AH ) за тем исключе-
нием, что, дойдя до последней строки экрана, DN
переводит курсор на первую строку ( строка 0 ),
а LF сдвигает экран на одну строку вверх ( вызы-
вает скроллинг, или прокрутку экрана )
позиция 28,9 .OUTCHAR LF позиция 29,9
позиция 29,9 .OUTCHAR LF скроллинг, поз 29,9
позиция 29,9 .OUTCHAR DN позиция 0,9
0BH ^K HOM Установка курсора в начало экрана ( позиция 0,0)
ESC+H позиция 23,7 .OUTCHAR HOM позиция 0,0
0DH ^M CR Возврат курсора(CursorReturning) в начало строки
позиция 23,7 .OUTCHAR CR позиция 23,0
ESC+Y+(20H+строка)+(20H+позиция)
ESC+(80H+строка)+([80H+]позиция) []-необязательно
Прямое позиционирование курсора
.OUTCHAR ESC .OUTCHAR 'Y'
.OUTCHAR 36H .OUTSHAR 50H позиция 22,48
.OUTCHAR ESC
.OUTCHAR 89H .OUTSHAR 0A8H позиция 9,40
■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■
Очистка
0CH ^L CLS Очистка всего экрана, установка курсора в его
начало ( позиция 0,0 )
позиция 7,15 .OUTCHAR CLS очистка, поз 0,0
16H ^V CLR Очистка строки от курсора до ее конца
ESC+K позиция 4,48 .OUTCHAR CLR очистка, поз 4,48
ESC+J Очистка экрана от курсора до его конца
позиция 9,18
.OUTCHAR ESC .OUTCHAR 'J' очистка, поз 9,18
■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■
Кодировка символов
0EH ^N Переход в KOI7(рус) - русский алфавит
ESC+@ .OUTCHAR ESC .OUTCHAR '@'
.OUTCHAR 59H .OUTCHAR 79H печать ыЫ
ESC+\ Переход в KOI7(лат/рус)
.OUTCHAR ESC .OUTCHAR '\'
.OUTCHAR 59H .OUTCHAR 79H печать YЫ
0EH ^O Переход в KOI8 и ее подмножество KOI7(лат)
ESC+Z,ESC+] .OUTCHAR ESC .OUTCHAR 'Z'
.OUTCHAR 59H .OUTCHAR 79H печать Yy
.OUTCHAR 0D9H .OUTCHAR 0F9H печать ыЫ
.OUTCHAR 81H .OUTCHAR 0BBH печать │╩
ESC+[ Переход в кодировку IBM ALT
.OUTCHAR ESC .OUTCHAR '['
.OUTCHAR 59H .OUTCHAR 79H печать Yy
.OUTCHAR 0D9H .OUTCHAR 0F9H печать ╘╧
.OUTCHAR 81H .OUTCHAR 0BBH печать Б▀
■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■
Управление формой и типом курсора
Следящим называется немигающий курсор, постоянно присутству-
ющий на экране. Неследящий курсор мигает и видим только при
обращении к функции CONIN драйвера клавиатуры KBDK.DRV. Сле-
дящий курсор может вызвать неприятный эффект своим мелькани-
ем по экрану во время его перерисовки, поэтому рекомендуется
его не использовать. К сожалению, некоторые программы ( на-
пример, dBASE II ) для ввода символа используют функции вида
LOOP:
CALL CONSTAT ; проверка состояния клавиатуры
OR A ; был ввод ?
JR Z,LOOP ; ввода не было
CALL CONIN ; собственно ввод
и, таким образом, в функции CONIN пребывают мизерное время,
так что неследящий курсор даже не успевает включиться. В
таких случаях приходится включать следящий курсор. Мораль:
используйте для ввода с клавиатуры вызов CALL CONIN, который
сам обеспечит необходимый цикл ожидания. Впрочем,приведенный
пример можно использовать в случае, если нужно ввести символ
без включения курсора ( что обычно и делает CopyK ).
ESC+Q Включение следящего курсора
.OUTCHAR ESC .OUTCHAR 'Q'
ESC+R Выключение следящего курсора
.OUTCHAR ESC .OUTCHAR 'R'
ESC+I+(шаблон)
Шаблон курсора. Каждый бит шаблона соответствует
одной строке растра в знакоместе ( D0-нижняя ).
.OUTCHAR ESC .OUTCHAR 'I'
.OUTCHAR 00000111B - прямоугольный курсор в
трех нижних строках растра
+ ESC+a Битовая карта ( BitMap ) курсора. Эта новая ESC-
последовательность дает возможность создать кур-
сор ЛЮБОЙ формы. Битовая карта - восемь последо-
вательных байт, указатель на которые передается
в HL во ВРЕМЯ ПЕРЕДАЧИ СИМВОЛА 'a'. Каждый байт
отвечает одной строке растра знакоместа, первый
байт - верхняя строка.
.OUTCHAR ESC
LD HL,CURBITMAP
.OUTCHAR 'a'
CURBITMAP:
DB 0,0,0,0,0,0FFH,0FFH,0FFH
- эквивалентно предыдущему примеру
.OUTCHAR ESC
LD HL,CURBITMAP
.OUTCHAR 'a'
CURBITMAP:
DB 0FFH,81H,81H,81H,81H,81H,81H,0FFH
- пустой прямоугольник на все знако-
место ( устанавливается изначально )
■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■
Управление цветом
Палитра - байт, биты которого имеют следующее значение :
D2..0 - цвет точек; D5..3 - цвет фона; D6 - повышенная яр-
кость ( Bright ); D7 - мерцание ( Flash ). Цвета кодируются
следущим образом: 0 - черный ( Black ); 1 - синий ( Blue );
2 - красный ( Red ); 3 - фиолетовый ( Magenta ); 4 - зеленый
( Green ); 5 - голубой ( Cyan ); 6 - зеленый ( Yellow ); 7 -
белый ( White ); эти мнемоники определены в файле DEVICE.H.
+ ESC+k Включение цветового сопровождения вывода символов
+ ESC+l Выключение цветового сопровождения вывода симво-
лов. Символ при этом выводится в той палитре,
которая была установлена для этого знакоместа
ранее.
* ESC+P+(палитра)
Установка глобальной палитры. На всем экране,
независимо от того, включен ли цвет, устанавли-
вается соответствующая палитра.
.OUTCHAR ESC .OUTCHAR 'P'
.OUTCHAR 8*black+white
-стандартная палитра(белый по черному)
+ ESC+b Установка глобальной палитры. Действует анало-
гично предыдущей функции, но на каждую строку
растра знакоместа устанавливается своя палитра
( при этом наборы палитр для разных знакомест
совпадают ). Указатель на вектор из восьми па-
литр передается в HL во ВРЕМЯ ПЕРЕДАЧИ СИМВОЛА
'b' ( первая палитра соответствует верхней стро-
ке растра ).
.OUTCHAR ESC
LD HL,PALLETS - желтые символы на фоне :
.OUTCHAR 'b' красном в верхней поло-
PALLETS: вине символа, синем - в
REPT 4 нижней
DB 8*red+yellow
ENDM
REPT 4
DB 8*blue+yellow
ENDM
* ESC+V+(палитра/инверсия)
В режиме выключенного цвета младший бит третьего
байта последовательности определяет, будут ли
последующие символы выводиться с инверсией(D0=1)
или без ( D0=0 ). При включенном цвете этот байт
определяет локальную палитру ( палитру вывода
последующих символов ).
+ ESC+d+(инверсия)
Включение инверсии. Работает аналогично предыду-
щей в режиме выключенного цвета, но данная по-
следовательность сработает на включение/выключе-
ние инверсии и в режиме включенного цвета.
.OUTCHAR ESC .OUTCHAR 'P'
.OUTCHAR 8*black+white - глобальная палитра
.OUTCHAR ESC .OUTCHAR 'k'
.OUTCHAR ESC .OUTCHAR 'V'
.OUTCHAR red*8+green - локальная палитра
.OUTCHAR 'H' - зеленая буква на красном фоне
.OUTCHAR ESC .OUTCHAR 'l'
.OUTCHAR 'J' - белая буква на черном фоне
.OUTCHAR ESC .OUTCHAR 'V'
.OUTCHAR 1
.OUTCHAR 'K' - черная буква на белом фоне
.OUTCHAR ESC .OUTCHAR 'k'
.OUTCHAR ESC .OUTCHAR 'd'
.OUTCHAR 1
.OUTCHAR 'L' - красная буква на зеленом фоне
+ ESC+c Установка локальной палитры. Работает независимо
от того, включен ли цвет ( но пока он выключен,
локальная палитра будет игнорироваться ). На
каждую строку растра знакоместа задается своя
палитра. Указатель на вектор из восьми палитр
передается HL во ВРЕМЯ ПЕРЕДАЧИ СИМВОЛА 'c'
( первая палитра соответствует верхней строке
растра ).
.OUTCHAR ESC
LD HL,PALLETS - желтые символы на фоне :
.OUTCHAR 'c' красном в верхней поло-
PALLETS: вине символа, синем - в
REPT 4 нижней
DB 8*red+yellow
ENDM
REPT 4
DB 8*blue+yellow
ENDM
+ ESC+v Расцвечивание экрана. Независимо от того, вклю-
чен ли цвет, расцвечивает прямоугольный участок
экрана согласно указанной палитре. Параметры
передаются с адреса 80H:
ORG 80H
DB позиция, строка верхнего левого угла
DB длина, ширина прямоугольника в знакоместах
DB палитра
При вызове параметры портятся.
LD HL,PARAMS - бело - красная палитра в
LD DE,80H верхней левой четверти
LD BC,5 экрана
LDIR
.OUTCHAR ESC .OUTCHAR 'v'
PARAMS:
DB 0,0,32,15,red*8+white
+ ESC+e+(цвет)
Установка цвета бордюра.
.OUTCHAR ESC .OUTCHAR 'e' .OUTCHAR green
■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■
Пиктограммы
+ ESC+i Нарисовать пиктограмму. Сама пиктограмма описы-
вается с адреса 80H :
ORG 80H
DB позиция , строка верхнего левого угла
DB длина , ширина пиктограммы в знакоместах
DW указатель на битовую карту точек
DW указатель на байтовую карту палитр
При вызове параметры портятся. Структура карт:
знакоместа описываются последовательно, слева
направо, строки - сверху вниз. Описание одного
знакоместа в битовой карте - 8 байт, по байту на
строку растра, аналогично и в карте палитр.
LD HL,ICON - желтая стрелка на
LD DE,80H красном поле
LD BC,8
LDIR
.OUTCHAR ESC .OUTCHAR 'i'
ICON:
DB 3,7 - позиция ( 7,3 )
DB 2,1 - размеры 1х2
DW POINTS
DW PALLETS
POINTS:
DB 0,0,0,0FH,0FH,0,0,0
DB 0,40H,60H,0F0H,0F0H,60H,40H,0
; ╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟
; ╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟
; ╟╟╟╟╟╟╟╟╟╟╟╟╟╟
; ╟╟╟╟╟╟╟╟
; ╟╟╟╟╟╟╟╟
; ╟╟╟╟╟╟╟╟╟╟╟╟╟╟
; ╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟
; ╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟
PALLETS:
REPT 16
DB 8*red+yellow
ENDM
■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■
Разное
01H ^A GRF Печать следующего символа как псевдографику,даже
если его код меньше,чем 20H.Кодировка символов с
кодом 0..1FH совпадает с кодировкой IBM ALT, на
печать остальных символов ^A не влияет.
.OUTCHAR 1
.OUTCHAR 3 печать сердечка
.OUTCHAR 1
.OUTCHAR 'S' печать S
07H ^G BEL Звуковой сигнал тона 18 длительностью 21 ( в
относительных единицах ).
.OUTCHAR 7 эквивалентно .BEEP 18,21
+ ESC+j Печать строки. Сама строка помещается с адреса
81H, количество символов в строке - с адреса 80H
LD HL,STRING
LD DE,80H
LD C,(HL)
LD B,0
INC BC
LDIR
.OUTCHAR ESC
.OUTCHAR 'j'
STRING: DB 17,'Concurrent BIOS',CR,LF
■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■
Инициализация драйвера
Работа драйвера управляется блоком параметов, в который вхо-
дят: глобальная и локальная палитра, битовая карта курсора
( по восемь байт ), тип курсора, режим цветности, цвет бор-
дюра, кодировка, наличие инверсии. На самом деле таких бло-
ков два, временный и системный. Все изменения, произведенные
с помощью описанных ранее функций изменяют только временный
блок, и именно он управляет текущим выводом. Системный блок
нужен для реинициализации драйвера при выходе из программы.
* ESC+F Временный блок параметров становится системным.
* ESC+G Системный блок параметров становится временным,
в соответствии с ним производится реинициализа-
ция драйвера ( установка палитр, типа и формы
курсора, кодировки и т.д. ). Именно эта команда
подается DOSом при каждом выходе из программы
прежде чем напечатать промпт A>.
+ ESC+f Подавить один последующий вызов ESC+G. Это может
понадобится, например, при последовательном вы-
зове двух программ, когда первая ( например,
утилита COLOR ) расцвечивает экран для работы
второй. При этом первая, прежде чем закончит
свою работу, должна дать эту команду; иначе в
промежутке между их исполнением DOS успеет вы-
дать ESC+G для сброса консоли, что приведет к
его обесцвечиванию ( точнее, его расцвечиванию
согласно текущей глобальной палитре), а это было
бы неприятно.
■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■
Исключенные функции
- ESC+E Сброс консоли. Легко заменяется последователь-
ностью CLS, ESC+G
- ESC+N Переход на 32-символьную консоль
- ESC+O Переход на 64-символьную консоль
- ESC+U Печать версии драйвера
- ESC+s Отображение фона экрана
■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■ ■■■■■■■■■■
Окно "Dismount" появляется после отпускания клавиш.
И после отпускания клавиш проходит какое-то время.
Про драйвер: Я тоже сразу подумал про CP/M. А как быть с разными размерами экрана? TRDN подстроится под другое количество символов по ширине-высоте? Там конечно вроде есть функция установить окно таких то размеров. Но драйвер должен сообщить какие размеры он умеет.
ИМХО лучше всего взять за основу один из существующих стандартовПосмотрю, интересно.
Про драйвер: Я тоже сразу подумал про CP/M.А вот мне подумалось про контроллер КЦГД на ДВК-3. :)
TRDN подстроится под другое количество символов по ширине-высоте?Придется в каких-то местах подправить оболочку.
А как быть с разными размерами экрана?
Если мы говорим о "текстовом" режиме, то программе плевать на размер графического экрана, главное что бы текстовый был нужного для него размера. У Профи на экране 64х30 символов. Можно сделать 80 символов в строке, если ужать ширину букв менее 8 пикселей, но за это отвечает отдельный драйвер и в данном случае не актуально.
У стандартного экрана текстовое разрешение 64х24 строки. На первых порах можно не использовать дополнительные строки. Потом за их использование должны отвечать GUI, а не драйвер. Как вариант, при старте определяем размер экрана (скорее всего через запрос к загруженному драйверу), настраиваем некие переменные, которые отвечают за визуализацию (например, число строк в панели), а в основной программе используем значения этих переменных.
Тут больше вопрос к организации GUI, какой набор минимальных ESC команд её нужно. Определяемся, рассматриваем как его можно уменьшить (передав задачи на уровень GUI или библиотек), после чего реализуем определенные команды ESC. Если ESC команды не использоваться в GUI, то значит определяемся с иным механизмом взаимодействия драйвер<>GUI, а дальше по той же схеме.
То есть к драйверу предъявляются требования: ограничения по максимальному размеру, фиксированное его место положение или нет, какие задача/команды он должен решать/выполнять, механизм взаимодействия с GUI, иные ограничения в его работе. Так сказать ТЗ :)
Например, драйвер инструкцию от которого привел выше, занимает 2.8 кб. Так же нужно не забыть про шрифт, размер которого увеличится. Теоретически шрифт можно вынести в страницы, это усложнит драйвер, но не критично. Если не жадничать, то выделяем страницу (16кб) под шрифты, умещается ~6 шт., и разрабатываем механизм переключения между ними. А в шрифтах не обязательно хранить буквы. Вот пример интерфейса системы Profi Vision, полностью построенной на текстовой основе (это 1994 г, на ПС только вин311). Вообще PV вещь весьма интересная, нём реализовано много вкусного, но я ни как не могу сесть и разбераться :( Например, есть вывод в буфер, то есть мы выводим информация не на экран, а в буфер, и только по команде его содержимое кидаем на экран, при чём буфером может быть несколько. А консоль можно ужать до размера окна, или иметь две консоли на экране в разных окнах. Так же есть механизм кучи, для динамического выделения места под задачи. И т.п. включая многозадачность внутри одного приложения. Читая инструкцию, было крайне обидно, что это прошло мимо в 90х.
https://imageup.ru/img277/thumb/2018-12-20_12-01-103647974.jpg (https://imageup.ru/img277/3647974/2018-12-20_12-01-10.png.html)
https://imageup.ru/img235/thumb/2018-12-20_22-04-423647975.jpg (https://imageup.ru/img235/3647975/2018-12-20_22-04-42.png.html)
Кстати вы ПЗУ используете? Можно его подменить на 0 страницу?
У стандартного экрана текстовое разрешение 64х24 строки. На первых порах можно не использовать дополнительные строки.В этом случае правки оболочки вероятно и вовсе не потребуются. Даже координаты сообщений пересчитывать не придется. Нужно вставить в код TRDN только другую процедуру печати и изменить ту часть оконной процедуры, которая отвечает за сохранение и восстановление информации под открытым окном.
Кстати вы ПЗУ используете? Можно его подменить на 0 страницу?.ROM1 используется. В частности постоянно считываются ячейки FRAMES, чтобы шли часы и сканирование клавиатуры. В какие-то другие режимы работы TRDN ROM1 можно и отключать. Об используемых подпрограммах ПЗУ я написал в файле комментариев к исходнику.
Даже координаты сообщений пересчитывать не придется.
Думаю их вообще пересчитывать не нужно, для всех возможных режимов ограничиться 64х24. А вот дополнительно место занять панелями, увеличив их высоту.
только другую процедуру печати и изменить ту часть оконной процедуры, которая отвечает за сохранение и восстановление информации под открытым окном.
Есть список таких процедур?
ROM1 используется. В частности постоянно считываются ячейки FRAMES, чтобы шли часы и сканирование клавиатуры.
Если при выводе на экран не возможны иные действия (например, отработка часов), то можно делать подмену только на момент вывода на экран. В 0 странице разместить весь код драйвера и шрифт. Главное что бы она не использовалась в других местах.
Так же под экран Профи размещается в 2-х страницах памяти, 0-й: 04h и 38h, 1-й: 06h и 3Ah. Их то же нужно вывести из использования, хотя бы для одного.
Есть список таких процедур?Я их кратко описал в файле comments.txt в архиве исходников:
WINDOW (она же WINDOW_) - подпрограмма открытия окна сообщения. WINLOAD (WINLOAD_) - закрытие окна.
STROKA - печати текста с уп.кодами. PR_REC - печать символа в установленной кодировке, PRINT - печать символа в CP866. Все процедуры печати используют один драйвер.
В 0 странице разместить весь код драйвера и шрифт. Главное что бы она не использовалась в других местах.Нулевая страница содержит часть кода TRDN, но в ней есть свободное место.
Если при выводе на экран не возможны иные действия (например, отработка часов), то можно делать подмену только на момент вывода на экран.Я имел в виду, что TRDN работает в IM1 и обработка прерываний происходит стандартным обработчиком из ROM1. TRDN мспользует FRAMES для вывода часов и код нажатой клавиши для вызова своих функций. Если подменить ROM на момент печати, то достаточно написать свой обработчик приращивающий только FRAMES, а опрос клавиатуры на этом этапе конечно же не нужен.
Так же под экран Профи размещается в 2-х страницах памяти, 0-й: 04h и 38h, 1-й: 06h и 3Ah. Их то же нужно вывести из использования, хотя бы для одного.Это не сложно. Сейчас в V0.75b в стартовых процедурах происходит детектерование Скорпиона, и подключение его внутреннего драйвера 256К. Нужно вставить процедуру детектирования Profi, которая и подключит его драйвер, использующий необходимый набор страниц.
Я их кратко описал в файле comments.txt в архиве исходников:
Посмотрю, чуть позже
Нулевая страница содержит часть кода TRDN, но в ней есть свободное место.
А что мешает использовать иную страницу для кода TRDN. Страница 0, это как раз окно проецирования C000h и выше. Включить можно любую, на Профи минимум 256кб. Позволяет ли такие вольности текущий код?
Вторая тестовая версия для Scorpion и Scorpion GMX.
Поправлено поведение команды SS/Z.
- - - Добавлено - - -
А что мешает использовать иную страницу для кода TRDN.Совместимость с 48К. :) Впрочем, в режиме 128К можно использовать и другую.
Сейчас запрос на дизмаунт быстро появляется.
И загрузка из бейсика заработала.
В тестовой версии также улучшена работа файловой панели HDD (диска E:) - теперь выбирается сортировка по алфавиту (CS/S). Проверьте все ли нормально.
Посмотрел, сортировка по-моему хорошо работает на диске Е.
А копирование диск в диск будет? Как раз свободна кнопка SS+5...
А копирование диск в диск будет?Я уже писал здесь, что мне и самому очень не хватает этой возможности.
К сожалению для новых функций сейчас нет места - свободной памяти осталось около 1,5 Кб.
У нас есть планы реструктурировать TRDN, и тогда дорога новым функциям будет открыта, но это случится (если случится) в версии 0.80b.
В TR-DOS Navigator'е процедура подсчета контрольной суммы сектора эмуляции для версий 3.9f и 4.01 вызывается из ROM7 ... Знает ли кто-нибудь, как переключаются страницы ПЗУ в Scorpion GMX?Как уже понятно, мне удалось разобраться в этом вопросе.
Суть такова. Все ПЗУ Scorpion GMX, также как и в ПрофПЗУ, поделено на плоскости, в каждой по четыре 16-и килобайтных страницы, а всего плоскостей восемь (номера от 0 до 7). Плоскости переключаются проще, чем ПрофПЗУ: номер нужной плоскости задается в битах 6...4 порта #7EFD.
Первые страницы основного ПЗУ Scorpion'а (ROM0 - BASIC128, ROM1 - BASIC48, ROM2 - Монитор и ROM3 - TR-DOS, - находятся в плоскости 4, а не в 0, как в ПрофПЗУ.
Меня интересовала страница ПЗУ с процедурой подсчета CRC для служебного сектора HDD. Также как и в ПрофПЗУ, она имеет условный номер ROM7, но находится в плоскости 5.
Скоро выйдет новая версия TRDN, будут опубликованы исходники, в которых можно будет посмотреть мое решение этого вопроса. :)
CityAceE
22.09.2020, 08:38
В первом сообщении новая версия TRDN. Как обычно, всё благодаря Grand'у.
CityAceE
27.09.2020, 18:42
В первом сообщении обновлены исходники.
CityAceE
08.10.2020, 10:06
Grand пофиксил найденный баг. В первом сообщении обновлена версия программы и исходники.
Исправлена ошибка, из-за которой на Scorpion'е не выбирались примонтированные псевдодиски, если к ним после сброса и до загрузки TRDN не было обращений из TR-DOS.Это еще одна ошибка (или особенность) Теневого монитора. Сразу после холодного сброса выбор примонтированного диска из BIOS не сработает (CY=1).
LD A,<лог.номер примонтированного диска>
LD C,1
RST 8
DB #81
Нужно сначала сделать выбор из TR-DOS:
LD A,<лог.номер примонтированного диска>
LD C,1
CALL 15635
Evgeny Muchkin
27.10.2020, 23:39
Меня интересовала страница ПЗУ с процедурой подсчета CRC для служебного сектора HDD
Где-то я видел... вроде, в статьях от Vega код для подсчета MOA-вского crc. Оно не оно случайно?
Где-то я видел... вроде, в статьях от Vega код для подсчета MOA-вского crc. Оно не оно случайно?Верно. Я использовал это описание. Но процедура и таблица слишком большие - более 512 байтов, поэтому используется вызов из ПЗУ. Я уже нашел решение и для Scorpion, и для Scorpion GMX. Оно применено в новой версии TRDN .
Evgeny Muchkin
28.10.2020, 11:22
А при наличии на диске trdn.drv и запуске на Скорпионе будет задействован драйвер?
Навигатор понравился, но досадная фигня - у меня в ZXMC2 сделана раскладка для цифровых клавиш, соответствующая тому, что на этих клавишах написано. В итоге нормально не работает "Alt"-меню (не могу переименовать, уплотнить и т.д.) :(
Из хотелок:
- возможность настройки цветов (синий вырви глаз, конечно, хоть и аутентичный ;))
- мышь
- бодрый скроллинг при отметке большого количества файлов
- hdd файловые операции не через #3D13, а как в GMX Commander, чтоб 5 сек и целый диск записан/считан. :)
На данный момент глюков не обнаружено.
у меня в ZXMC2 сделана раскладка для цифровых клавиш, соответствующая тому, что на этих клавишах написано.Evgeny Muchkin, а как тогда ты набираешь символы "@", "#", "(" и т.д.? :-O
бодрый скроллинг при отметке большого количества файловТут дело в том, что оболочка проектировалась с возможностью адаптации под текстовый экран, так что быстрой перерисовки экрана вероятно не будет.
hdd файловые операции не через #3D13, а как в GMX CommanderСейчас в TRDN обращения к SMUC HDD идут через RST 8, а к примонтированному псевдодиску через #3D13.
мышьЭто тоже дело в отдаленной перспективе.
синий вырви глаз, конечно, хоть и аутентичныйСогласен с этим полностью. О том, что на ЖК-мониторах синий вреден для глаз стало известно только недавно. У нас были планы по смене палитры, но в этом направлении еще ничего не сделано. То, какими цветами сейчас в TRDN окрашиваются файлы, рассказано в Руководстве TRDN.WRD, в разделе "Некоторые замечания". Высказывайте свои предложения. :)
CityAceE
29.10.2020, 09:12
У нас были планы по смене палитры, но в этом направлении еще ничего не сделано.
Да, причём я собирался сделать это чуть ли ни в одной из первых версий, вместе с отгрузкой всех остальных настроек. Но в итоге всё было отложено и по итогу компоновка программы претерпела изменения и теперь сделать это будет уже существенно сложнее, особенно если учесть тот факт, что сейчас идёт борьба за каждый свободный байт памяти.
А при наличии на диске trdn.drv и запуске на Скорпионе будет задействован драйвер?
Будет. И теперь мы можем приступить к тестированию драйвера верхней памяти для Scorpion GMX. :) Во вложении сам драйвер и его исходник в формате Gens4B.
Я, как всегда, проверил драйвер на ZX Evolution в конфигурации GMX.
Получилось что при копировании флоппи-дисков все работает правильно. А вот если в операции принимает участие примонтированный псевдодиск, то - зависания на середине операции. Необходимо проверить так ли это и на реальном Scorpion GMX.
Краткая инструкция по инсталляции драйвера.
Запишите файл .drv на свой диск, где у вас записан TRDN. Переименуйте драйвер в trdn.drv и загрузите TRDN. На Info-панели ( CS/L) будет отображен размер буфера копирования - свыше 7000 секторов.
PS Драйвер перемещен сюда.
Evgeny Muchkin
30.10.2020, 13:46
так ли это и на реальном Scorpion GMX.
Так же.
А чем провинилась 15-я страница?
На всякий случай мои соображения про память: при обращении к вирт. диску идёт вызов монитора, а он неправильно определяет какая сейчас включена страница в окне #c000, если включена страница > 15, и потом возвращает не ту.
Выход: перед любым обращением к tr-dos включать страницу <=15, а лучше 0. И переменную #5b5c выставлять тоже правильно.
Второй вариант: грузить всё через окно #8000 в нужную страницу, по-моему на него монитор не обращает внимания и так работает.
Evgeny Muchkin
30.10.2020, 19:09
Подтверждаю сие экспериментом. Попробовал щелкать страницами с помощью вышевыложенного драйвера, после чего читать с примонтированного диска.
Стабильно закидывается на чтении в 12-ю логическую (16-ю реальную) страницу. :(
- - - Добавлено - - -
Похоже, FION в GMX Commander'e убивал двух зайцев, делая работу в HDD напрямую через порты: 1 - скорость, 2 - этот глюк с неправильным определением страницы теневиком.
А чем провинилась 15-я страница?Там может быть MagOS. Для совместимости с ней.
- - - Добавлено - - -
при обращении к вирт. диску идёт вызов монитора, а он неправильно определяет какая сейчас включена страница в окне #c000В общем, все как на Scorpion 1024... Жаль. :( Я ожидал, что хоть в G5.00 сделано правильно. Будем искать обход.
Evgeny Muchkin
31.10.2020, 12:44
В общем, все как на Scorpion 1024... Жаль. :( Я ожидал, что хоть в G5.00 сделано правильно. Будем искать обход.
Хм... Офтоп, конечно, получается. А может, поправить этот момент в ПЗУ и сделать диск с версией G5.01 для прошивки в GMX?
Программаторы не нужны, перепрошивка с диска средствами загрузчика это вполне штатная процедура для GMX, любой пользователь справится.
Хм... Офтоп, конечно, получается. А может, поправить этот момент в ПЗУ и сделать диск с версией G5.01 для прошивки в GMX?
Хорошо было бы. А потом поправить чтобы и отладчик знал про новые страницы памяти. И новое окно, и граф. режим. )
Evgeny Muchkin
31.10.2020, 16:43
izzx, не исключаю, что и отладчик и трдос юзают одну и ту же процедуру.
Evgeny Muchkin
01.11.2020, 19:50
Развлечения ради набросал драйвер для памяти и часов для компов с GMX и SMUC с открытыми портами.
Основная идея была в том, чтобы часы показывались в любой конфигурации GMX, Скорпион, Пентагон, Композит... не важно.
В режиме скорпа юзаются 256К (15-я страница тоже, т.к. писал для себя, а МагОС не юзаю), в режиме Пентагон и Композит - 128К.
Сделано примитивно, драйвер срисован из доков для TRDN. Надеюсь, позже мы разберемся и в режиме скорпа можно будет подключать и все 2Мб GMX.
ORG #5B00,#6000
JR MEM
JR CLOCK
DB 0,0
TABLE DB #00,#01,#03,#04,#06,#07
TABLE2 DB #11,#12,#13,#14,#15,#16,#17
; DB #FF
MEM PUSH HL
LD HL,TABLE
ADD A,L
LD L,A
LD A,(8)
CP #C3
JR Z,MEMSC
LD A,#E5
LD (TABLE2),A
MEMSC LD A,(HL)
POP HL
CP #E5
SCF
RET Z
PUSH BC
PUSH AF
AND #10
LD BC,#1FFD
OUT (C),A
POP AF
OR #10
LD B,#7F
OUT (C),A
POP BC
RET
CLOCK LD BC,#DFBA
LD HL,#2A53
LD A,#04
CALL OUTDOS
IN E,(C)
; LD A,#02
RRCA
CALL OUTDOS
IN D,(C)
SUB A
CALL OUTDOS
IN C,(C)
LD B,D
RET
OUTDOS PUSH HL
JP #3D2F
DS #5B5D-$,0
В аттаче уже скомпилированный.
Evgeny Muchkin
03.11.2020, 19:32
а как тогда ты набираешь символы "@", "#", "(" и т.д.? :-O
Дык, так и набираю, как на ПЦ-шной клавиатуре написано:
@ - Shift + 2
# - Shift + 3
( - Shift + 9 (не 8!!)
) - Shift + 0 (не 9!!)
и т.д.
Было удобно до этого момента ;)
@ - Shift + 2
# - Shift + 3
( - Shift + 9 (не 8!!)
) - Shift + 0 (не 9!!)
и т.д.Тогда должно набираться:
"&"- Rename
"'" - Defragmentation
"(" - Rename disk
")" - Save configuration
:)
Символ ' используется и в BASIC, поэтому возможность его набора должна быть.
PRINT PI ' PI ^ 2
Evgeny Muchkin
13.11.2020, 14:08
Обнаружился глючек. Из коммандера не запускается вот это: https://vtrd.in/gs/B_FUS_GS.zip
Наверное было бы неплохо RAMTOP подвинуть в более правильно место перед запуском бейсиков. :)
Есть некоторые подвижки в сторону работы с расширенной памятью в GMX (теперь с драйвером GMX не виснет):
https://zx-pk.ru/threads/31334-gmx-(grafic-memory-expander)-svodnaya-tema.html?p=1089068&viewfull=1#post1089068
не запускается вот это: https://vtrd.in/gs/B_FUS_GS.zip
Наверное было бы неплохо RAMTOP подвинуть в более правильно место перед запуском бейсиков. :)Поисследую на досуге.
А RAMTop перед загрузкой и запуском BASIC сейчас выставляется "системный" - 65367.
не запускается вот это
TRDN не понимает с какой строки стартовать программу.
автостарт в ней прописан, trdos через load - запускает
Evgeny Muchkin
15.11.2020, 13:29
Grand, а обязательно приводить каталог к стандарту при копировании? Например, когда у меня диск отформатирован более, чем на 80 дорожек, и я на него что-то копирую через TRDN, то он принудительно правит каталог (кол-во свободных секторов), тем самым делая делая диск стандартным 80-ти дорожечным.
Grand, а обязательно приводить каталог к стандарту при копировании? .Такова работа дисковых процедур (автор не я). Сначала меняется диск и каталог, а потом результат просчитывается и заноситя в служебный сектор.
CityAceE
16.11.2020, 15:00
Такова работа дисковых процедур (автор не я).
Да, я помню тот момент, когда принимал решение, как будет обсчитываться информация в девятом секторе. Я решил писать туда сразу правильную информацию, вычисленную из существующих файлов, чтобы не было проблем, если изначальная информация в девятом секторе окажется некорректной. Естественно, я полагался на стандартный формат TR-DOS'овского диска.
Evgeny Muchkin
16.11.2020, 17:45
CityAceE, а что будет если с диска, на котором файлами заняты 2576 секторов (т.е. диск нестандартный как бы) при помощи TRDN удалить файл размером, ну, к примеру, 10 секторов? :)
CityAceE
16.11.2020, 20:06
а что будет
Он пересчитает объём существующих файлов, отнимет это число от 2544 и результат запишет в девятый сектор. Ну а как что будет на самом деле нужно проверять. Вполне хороший себе test-case.
Evgeny Muchkin
18.11.2020, 21:18
Он пересчитает объём существующих файлов, отнимет это число от 2544 и результат запишет в девятый сектор. Ну а как что будет на самом деле нужно проверять. Вполне хороший себе test-case.
Нужно убрать эту "фичу" и сделать, чтобы эти пересчёты велись по !реальным! данным диска. Ибо. Я не поленился и проверил. И вот что получилось после удаления маленького файла с, как бы нестандарного, диска :( :
https://i2.imageban.ru/out/2020/11/18/c3a0c6ac3b2536b101e2382be9942d4b.jpg
И это неправильно.
CityAceE
18.11.2020, 23:25
Спасибо за проверку! Рузультат, конечно, был ожидаем. Нужно будет переработать данную процедуру и сделать её более умной. Думаю, что Grand поправит в одной из следующих версий.
Black Cat / Era CG
19.11.2020, 10:07
Ух ты! Круто! 157 Метров теперь на дискетке свободно! Радоваться же надо!
Evgeny Muchkin
19.11.2020, 16:32
CityAceE, еще вопрос по длине драйвера памяти и часов. В доках написано, что максимальная длина его - 256. Хотя TRDN пишет в 23388 при работе, т.е. получается, что портит драйвер. Ну и последняя строчка в примере драйвера DEFS #5B5D-$,0, тоже как бы намекаэ. ;)
Где правда и как быть, если драйвер больше #5D байт?
Пока что мысль сделать драйвер таким образом, чтобы он состоял из двух частей, которые лежат в #5B00-#5B5B и #5B5D-#5Bxx; т.е. с неиспользуемой 'дыркой' по адресу #5B5C.
CityAceE
19.11.2020, 17:34
В доках написано, что максимальная длина его - 256.
Всё так и есть. Когда я писал TRDN, то отвёл под драйвер все 256 байт буфера принтера. И код коммандера туда никогда и ни за чем не лазил. Наверное, Grand, преследуя какие-то цели, был вынужден туда писать. Но это нужно у Grand'а спрашивать.
Evgeny Muchkin
19.11.2020, 17:52
Для нормальной работы со SMUC туда и вправду писать надо, чтобы у теневика не съезжала крыша и он номер экрана 7 не ставил во время загрузки с винта. Иначе экран мерцает.
Еще до кучи просьба. А можно сделать, чтобы имена SMUC дисков нормально отображались, а не как файлы - с пробелом после 8-го символа?
Ну и RUN вместо LOAD для запуска бейсиков, конечно.
Какой я занудный ;)
TRD ... через load - запускаетНет, автостарт TRDN обрабатывает корректно. Иначе половина программ не запускалась бы.
- - - Добавлено - - -
... вопрос по длине драйвера памяти и часов. В доках написано, что максимальная длина его - 256. Хотя TRDN пишет в 23388 при работе, т.е. получается, что портит драйвер.Нет, TRDN в эту ячейку ничего не пишет.
Проблема в другом. Теневой монитор при возврате из RST 8 выставляет экран согласно биту 3 из 23388. Об этом написано в его Руководстве.
Драйвер действительно может иметь длину 256 батов, но если предполагается его использование на Scorpion'ах, то ячейку 23388 лучше обнулить.
- - - Добавлено - - -
А можно сделать, чтобы имена SMUC дисков нормально отображались, а не как файлы - с пробелом после 8-го символа?Сейчас в качестве имен псевдодисков отображаются их реальные имена, заданные при инициализации. Разве это неудобно? В информационных строках (внизу панели) отображаются имена из каталога.
Из хотелок:
- возможность настройки цветов (синий вырви глаз, конечно, хоть и аутентичный ;) )
Я вставил в ассемблерный текст TRDN переменные цвета, и теперь можно задавать цвета по вкусу перед его компиляцией. Желающие могут разработать альтернативную палитру и олубликовать результат здесь :)
Во вложении ассемблерный текст ориентированний на SjASMPlus Z80 Cross-Assembler.
Инструкцимя по его использованию и все остальные поясняющие тексты в архиве исходников в первом сообщении темы.
Со строки 6718 в файле TRDNC.ASM находятся переменные цвета. Вот фрегмент:
/.../
;Цветовые переменные
;-ФП
COL_MAI EQU %01000000;маска атрибута:
;b7-мерц, b6-ярк,b5-b3-paper,b2-b0-0
;
COL_P EQU 5|COL_MAI;цв.панели
COL_PT EQU 6|COL_MAI;цв.назв.столбщов панели
COL_PH0 EQU 5|COL_MAI;цв.заголовка пассивной панели
COL_PH1 EQU #28|COL_MAI;цв.заголоака активной панели
COL_INP EQU 7|COL_MAI;цв.текста Info-панели
/.../
В качестве примера я привел во вложении откомпилированный вариант TRDN с черным paper.
Вложение удалено после 21-го просмотра. Смотрите архив исходных ассемблерных текстов в первом сооющении темы.
Evgeny Muchkin
20.11.2020, 11:25
Сейчас в качестве имен псевдодисков отображаются их реальные имена, заданные при инициализации. Разве это неудобно?
Я вот о чем. Фото, как отображает имя диска TRDN (с пробелом, как файл), и при переименовании диска схожая ерунда, только с запятой :)
И для сравнения как отображает те же диски GRAND'S BOOT - нормально без пробелов:
https://i1.imageban.ru/out/2020/11/20/e906ae95e19f71ae8563d581b2288fe4.jpg
https://i6.imageban.ru/out/2020/11/20/522288a69b219a79186bc98938e92a8e.jpg
https://i2.imageban.ru/out/2020/11/20/7984fc90215563dca0f89a68c4980293.jpg
- - - Добавлено - - -
Нет, TRDN в эту ячейку ничего не пишет.
Хм... а в коде вот это:
...
;
;Пров.на 128K
SET 5,(IY+54);b5=1 сигнал 48K
LD A,#10
LD HL,#D011;Адр.в.рабоч.обл.
LD BC,#7FFD
OUT (C),A
LD (HL),B
OUT (C),L
LD (HL),A
OUT (C),A
CP (HL);Z=0,если 128K
LD (23388),A
...
JR HDDOFF
sc_t2 LD A,#10
LD (23388),A;BANKM
...
L23613 LD SP,0000
LD (23613),SP;Восст.ERR_SP
PUSH HL
CALL CHDRV1
LD A,201
LD (23746),A
XOR A
LD (#5C44),A;NSPPS
OR #10
LD (23388),A
LD BC,65367
...
- - - Добавлено - - -
Нет, автостарт TRDN обрабатывает корректно. Иначе половина программ не запускалась бы.
Ну не запускается из TRDN файл, который я дал. Из чего угодно запускается, а из сабжа нет. Значит, наверное, имеет место некорректность.
Хм... а в коде вот это:
а это не драйвер 48/128 ? (ну то есть для скорпа он загружаться/исполняться не должен)
Хм... а в коде вот это:В первом фрагменте запись в 23388 идет до того как загружен драйвер. Во втором - только на Скорпионе, но драйвер уже загружен, и это не совсем правильно :) В третьем фрагменте запись в 23388 идет уже при выходе из TRDN и драйвер больше не вызывается.
Evgeny Muchkin
20.11.2020, 11:56
а это не драйвер 48/128
А да, похоже на то.
Ну не запускается из TRDN файл, который я дал.Я пока не разобрался с этим.
- - - Добавлено - - -
а это не драйвер 48/128 ? (ну то есть для скорпа он загружаться/исполняться не должен)Это просто проверка на 128К. В TRDOS-версии она работает в загрузчике, еще до загрузки. TRDN.
Во втором - только на Скорпионе, но драйвер уже загруженОднако, я не прав. Драйвер загружается после установки 23388. И TRDN при работе в 23388 ничего не пишет.
- - - Добавлено - - -
И вот что получилось после удаления маленького файла с, как бы нестандарного, диска :(Это происходит потому-что объем всех файлов в секторах превышает объем стандартного диска, из которого он вычитается. (Кому интересно, смотрите процедуру "SECTOR9_" в тексте исходников). Объем нестандартного дмска неизвестен и правильно расчитать количество свободных секторов не представляется возможным.
Однако, возможно сделать поддержку дисков, отформатированных в прогрвмме DCU Н.Родионова, - там объем диска в секторах записывается в служебном секторе в ячейках +#DF, +#E0.
Во вложении тестовая версия X4.1, в которую я попробовал вставить поддержку дисков DCU. Проверяйте, но без важный данных на диске. :)
Справедливости ради следует заметить, что попытка сделать поддержку дисков DCU предпринималась до меня в версии TR-DOS Navigator'а V0.67b, но поддерживались только диски от 80 дорожек двухсторонние, и та процедура содержала ошибки. Когда я процедуру переписывал в 2006 году, то упростил до работы со стандартными дисками, но зато всех возможных в TR-DOS стандартных форматов.
Evgeny Muchkin
22.11.2020, 21:04
Grand, не представляется возможным? А как же данные из Е5,Е6 в служебном секторе?
А как же данные из Е5,Е6 в служебном секторе?Количество cвободных секторов?
Оно учитываются до начала операции только, чтобы определить есть ли свободное место. Когда на диск
добавились/удалились файлы, это значение, как и остальные в сл. секторе, уже не актуально.
Попроюовал ли кто нибудь мою последнюю тестовую версию в работес дисками от DCU?
А можно сделать, чтобы имена SMUC дисков нормально отображались, а не как
файлы - с пробелом после 8-го символа?Оболочка TRDN отображает имена элементов в виде 8+3 - имя и тип в своем столбце. Когда элемент замаркирован, между именем и типом рисуется символ с кодом #FB. Конечно, сейчас имена прсевдодисков не маркируются, но в будущем - может быть.
Мне кажется вполне логичным, что дополнительные три символа к имени диска воспринимаются как
расширение.
В GB оболочка другая.
Evgeny Muchkin
23.11.2020, 13:53
Попроюовал ли кто нибудь мою последнюю тестовую версию в работес дисками от DCU?
Да. Глюков не было. Записал диск под завязку, удалял файлы, добавлял, делал Move. Нормально.
Набросал драйвер для всех 2Мб GMX. Идея почти такая-же, как и в предыдущий раз - чтобы, и память юзалась вся доступная, и часы отображались в любой конфигурации GMX. Т.е. в режиме Скорпа видны 2Мб, а в режиме Пентагона и Композита - 128К.
Для работы часов порты SMUC открывать не обязательно, их чтение сделал через TR-DOS. Ну и прошивку теневика GMX не забываем обновить до G5.01, чтобы при чтении с винта через #3D13 не висло, если кто не в курсе. ;)
Драйвер сделан из драйвера от Grand (спасибо! :)) . 8 и 15 страницы не используются.
В аттаче скомпиленный драйвер и текстовый исходник.
74035 (перекачайте, кто скачивал ранее, ошибочка вкралась, на работу не влияет, но для порядку... ;))
Текст:
ORG #5B00,#6B00
JR MEM
JR CLOCK
DB 0,0
MEM CP #02
JR C,$+3
INC A
CP #05
JR C,$+3
INC A
PUSH HL
LD L,A
LD H,#08
LD A,(#08)
CP #C3
LD A,L
JR NZ,ZX128_1
CP H
LD HL,#F507; RLCA: PUSH AF
LD (ZX128_2),HL
LD H,#80
JR C,$+3
INC A
CP #0F
JR C,$+3
INC A
ZX128_1 CP H
POP HL
CCF
RET C
PUSH BC
LD BC,#7FFD
PUSH AF
AND #07
OR #10
OUT (C),A
POP AF
ZX128_2 POP BC; RLCA: PUSH AF
RET
AND #10
LD B,#1F
OUT (C),A
POP AF
RLCA
RLCA
RLCA
AND #07
LD B,#DF
OUT (C),A
POP BC
RET
DS #5B5D-$,#00
CLOCK LD BC,#DFBA
LD A,#04
CALL OUTIN
LD E,H
LD A,#02
CALL OUTIN
LD D,H
SUB A
CALL OUTIN
LD C,H
LD B,D
RET
OUTIN CALL OUTDOS
LD A,#D8
PUSH BC
LD C,#1F
CALL OUTDOS
POP BC
LD HL,#3EF3
JR JMPDOS
OUTDOS LD HL,#2A53
JMPDOS PUSH HL
JP #3D2F
- - - Добавлено - - -
Количество cвободных секторов?
Оно учитываются до начала операции только, чтобы определить есть ли свободное место. Когда на диск
добавились/удалились файлы, это значение, как и остальные в сл. секторе, уже не актуально.
Я что-то все равно не врублюсь ;) Почему не актуально? Разве после записи файлов на диск эти значения не меняются?
Я всегда считал, что меняются, по крайней мере должны. Таким образом, чтобы узнать общий объем диска (хоть стандартного, хоть dcu'шного) достаточно сложить длины всех файлов с тем, что лежит в E5,E6 в 9-м секторе.
И DF,E0 трогать нет необходимости, т.к. нельзя исключать, что какой-нибудь 'социально ответственный' коммандер при копировании может затереть эти значения в соответствии со своими представлении о правильности формата диска. :)
чтобы узнать общий объем диска (хоть стандартного, хоть dcu'шного) достаточно сложить длины всех файлов с тем, что лежит в E5,E6 в 9-м секторе.Но при этом точно также приходится уповать на то, что значение в #E5 истинно.
Для TRDN такая переделка на практике обернется тем, что придется грубо вмешиваться в процедуру копирования/дефрагментации, а мне этого делать по многим причинам не хочется.
Evgeny Muchkin
24.11.2020, 09:12
Grand, а почему оно неистинно должно быть? Есть хоть один копир, который не знает, что там должно лежать кол-во свободных секторов? И к DF E0 куда меньше доверия... про них то точно мало кто знает.
- - - Добавлено - - -
А если места мало для такой считалки дискового объема, уберите 'проверку на corruptnostь' каталога. Бесит жутко (почти как в STORM), половину trd'шников со снятой защитой не запустить из TRDN, т.к. они не отображаются.
Я тут поймал себя на мысли,что последние несколько лет мы только и делаем,что защищаем TRDN от 'нестандартых стандартов'. Твк уже есть: защита от диска формата IS-DOS (только для Скорпиона) защита от нулевого размера в элементе каталога
Вероятно будет защита от завышенного числа треков. Что на очереди?
Обсчет каталога возник не на пустом месте - это тоже защита, причем важная.
Может всем лучше пользоваться стандартным дисками???
Может всем лучше пользоваться стандартным дисками???
вспомнил интересный момент.
trdos при работе с дискетой объём берёт из неё, таким образом вполне реально создать `гигантскую` дискету
и некоторые эмули её образ вполне сохранят/загрузят.
(была тема на форуме, но с ходу не нашёл)
АвторыTR-DOS предоставили большой простор для фантазий. Вот в других файловых системах я не встречал аналога "служебного сектора". И уже заморочек поменьше. :)
тут можно вспомнить с64, там каталог вообще в отдельном текстовом файле.
ну а если по-делу то лучше проверив тип дискеты (кол-во дорожек) выдать сообщение в случае нестандарта и не работать с ней.
Evgeny Muchkin
24.11.2020, 13:21
Может всем лучше пользоваться стандартным дисками???
Касательно количества дорожек готов согласиться. Это совсем некритично, особенно если гемор большой обучить навигатор делать то, что он должен был уметь с самого начала. ;)
А вот касательно всяких какбы 'corrupted' каталогов. Тут совсе другая ситуация. Так как таких дисков уже море.
Как вариант - не давать копировать 'НА' такие диски, но оставить возможность отображать каталог, запускать файлы и копировать 'С' них (если копируемый файл адекватно описан в каталоге, конечно).
Норм? :)
Evgeny Muchkin
24.11.2020, 21:55
Интересный момент/глючек, называйте, как хотите ;)
Отображен диск D, жму A (диск типа коррумпированный тут вставлен), ругается, каталог не отображает, отображает по прежнему диск D, жму запустить boot на диске D, а запускается boot с диска A :)
А вот касательно всяких какбы 'corrupted' каталогов ... оставить возможность отображать каталог, запускать файлы и копироватьПо первоначальному замыслу так и должно было быть. И в V0.75.3b так и работало. Но сейчас почему-то разладилось.
Отображен диск D, жму A (диск типа коррумпированный тут вставлен), ругается, каталог не отображает, отображает по прежнему диск D, жму запустить boot на диске D, а запускается boot с диска A
...
не запускается вот это: https://vtrd.in/gs/B_FUS_GS.zipПричины установлены и в следующей версии будут исправлены.
У меня вопрос: оставлять поддержку дисков DCU или нет? Отрицательное количество свободных секторов в любом случае будет приравниваться к нулю.
Evgeny Muchkin
27.11.2020, 08:11
Grand, оставлять. И поддержку корруптед дисков обязательно тоже.
Evgeny Muchkin
28.11.2020, 10:22
Grand, а можно еще сделать, чтобы проги, которые USR 0 хотят перед стартом запускались?
зачем подстраиваться под кривой софт ?
Evgeny Muchkin
28.11.2020, 12:06
goodboy, такая 'подстройка' может как-то ухудшить TRDN?
да, перестанут работать программы которым нужен 128ой бейсик.
Evgeny Muchkin
28.11.2020, 13:22
А такие есть вообще?
Можно сделать, чтобы по Enter запускалось в 48, а по Shift+Enter в 128 бейсике. Или наоборот, в зависимости от того, каких программ больше в природе.
NEO SPECTRUMAN
28.11.2020, 21:44
да, перестанут работать программы которым нужен 128ой бейсик.
gluk запускает с usr 0 молча
зачем подстраиваться под кривой софт ?
на правах трололо
а зачем подстраиватся под кривые клоны и делать 257 байтный вектор прерываний?
когда можно сказать "это у вас что то кривое у меня все работает\ничего не работает (нужное подчеркнуть)"
а зачем подстраиватся под кривые клоны и делать 257 байтный вектор прерываний?
у создателей фирменных игр не было машины времени и про наши кривые клоны они естественно не знали,
полная таблица делалась совсем по другой причине, наши тупо этот момент копировали не совсем понимая для чего это надо.
также тупо ставили DI в начале обработчика прерываний не зная что они уже запрещены (на железном уровне) и таких примеров много.
NEO SPECTRUMAN
29.11.2020, 12:29
полная таблица делалась совсем по другой причине, наши тупо этот момент копировали не совсем понимая для чего это надо
и для чего это по твоему нада?
в прессе всегда пишотсо про нестабильную шину на некоторых обвешанных мгтф-ом железках
а не про у буржаев так и мы будем это копировать
в придачу буржуйские "не ставить i в медленную память" наши как всегда игнорировали
так и продолжают игнорировать
а ты вообще говоришь про выкинуть 257 байт
- - - Добавлено - - -
также тупо ставили DI в начале обработчика прерываний не зная что они уже запрещены (на железном уровне)
а это качество описаний
я тоже об это в началае спотыкался
только на оборот у меня по приходу прерываний все зависало тк надо было делать ei перед выходом тк reti этого не делает...
да и не вспомню чтоб много где описывался этот момент ("все ж и так знают")
это потом узналось что пока сигнал прерывания висит обработчик может сработать 100500 раз подряд итд
и поэтому прерывания запрещаются сразу
и что при выходе их надо разрешать ручками...
Grand, а можно еще сделать, чтобы проги, которые USR 0 хотят перед стартом запускались?Невозможно объять необъятное. :)
- - - Добавлено - - -
В спецификации TR-DOS ничего не сказано про обнуление памяти перед загрузкой, сама она этого не делает, да и система ZX Spectrum тоже.
так речь идёт про старт с ПЗУ48к и открытым портом.
это критично для кривых программ которые размещают код/данные в буфере принтера при разрешённых прерываниях.
у 128ого бейсика там хранится исполняемый код/переменные.
NEO SPECTRUMAN
30.11.2020, 12:14
у создателей фирменных игр не было машины времени
это критично для кривых программ которые размещают код
а почему если криво у одних то не было машины времени
а если криво у других то это именно у них криво?
на машине аффтара и машине его друга все же работало
кто там знал что какой то 128 юзает ту память которую на 48 можно юзать?
если криво у других то это именно у них криво?
если прога рассчитанная на работу в 128к не дружит с 128ым бейсиком то это явно проблема автора
..........
при желании можно вспомнить несколько прог которые вообще рассчитаны только на 48ую модель
и на 128ой (без корректировок) вообще не запустятся
NEO SPECTRUMAN
30.11.2020, 12:57
если прога рассчитанная на работу в 128к не дружит с 128ым бейсиком то это явно проблема автора
..........
ну если про 128 то до это странно
наверно по дефолту была запускалка с usr0
что даже не догадывались что там как то по другому :v2_lol:
но там же наверно и часть софта написанного и под 48к+тырдырдос
на которые твой аргумент не распространяется
тут на самом деле ситуация мутная. отслеживание текущей страницы в trdn отключено, содержимое буфера принтера не критично.
давайте конкретную ссылку на софт который не запускается (именно из-за 128бейсика)
NEO SPECTRUMAN
30.11.2020, 14:39
давайте конкретную ссылку на софт который не запускается (именно из-за 128бейсика)
да 100500 древних дем
когда начинаешь их смотреть пачками
начинаешь об них спотыкатсо
...ну до демы обычно 128к :v2_confu:
Evgeny Muchkin
30.11.2020, 18:59
Невозможно объять необъятное.
Чего в этом необъятного? :)
Evgeny Muchkin, что конкретно не работает ?
(автостарт в BombFusion это другой случай, от бейсика он не зависит)
- - - Добавлено - - -
да 100500 древних дем
когда начинаешь их смотреть пачками
начинаешь об них спотыкатсо
ты хоть одну из них пробовал запускать из TRDN (или как всегда сотрясаешь воздух) ?
Сейчас TRDN запускает все программы в режиме "128K mode & 48 BASIC" или "BASIC 48 с открытим портом #7FFD". И этого достаточно почти для всех программ. Но я знаю игру, которая запускается исключительно в 128 BASIC: X-Files 2 by Upsoft, 1999
(https://vtrd.in/full_ver/X_FILES.ZIP).
Возможно в будущем, мы научим TRDN запускать программы и в этом режиме. Для этого надо не только оставлять в целостности переменные 128 BASIC, но и его рабочие области в RAM7, что не является сложной задачей (в Grand's Boot это давно решено).
Сейчас TRDN запускает все программы в режиме "128K mode & 48 BASIC" или "BASIC 48 с открытим портом #7FFD"
я это понял и мне было странно зачем другие требуют от программы то что она и так делает.
Лично мне не хватает загрузки и запуска code-блоков. Но это тоже дело будущего.
из-за ошибки в trdos запуск возможен только одного блока.
мне встречалась подборка дискет из ВосточнойЕвропы с патченной trdos и сборником игрушек где RUN"CODE" было в каждой строке
Evgeny Muchkin
01.12.2020, 12:14
goodboy,
Grand,
Не запускает, например, это: https://vtrd.in/sbor/TSZX.ZIP
Вернее, запускает, но оно сбрасывается.
NEO SPECTRUMAN
01.12.2020, 12:22
из-за ошибки в trdos запуск возможен только одного блока.
а что происходит в непатченной версии?
а то как всегда все всё и так знают...
- - - Добавлено - - -
Не запускает, например, это: https://vtrd.in/sbor/TSZX.ZIP
оно запускается и с usr0 и без него
- - - Добавлено - - -
у меня запистилось и с трдн-а
а что происходит в непатченной версии? а то как всегда все всё и так знают...
run "name" code загрузит и запустит (с адреса загрузки) кодовый блок.
только корректный возврат невозможен.
если это не критично то вполне можно использовать в своих целях.
Evgeny Muchkin
01.12.2020, 13:56
оно запускается и с usr0 и без него
- - - Добавлено - - -
у меня запистилось и с трдн-а
На эмуле у меня тоже запускается. А на реале USR 0 ей подавай.
Еще инересно, что если сразу после загрузки TRDN запускать этот плеер, то он стабильно сбрасывается. А если перед этим покопировать файлики, то иногда бывает, что и не сбрасывается. :)
Ребят, проверьте, пожалуйста, на ваших реалах.
А вот Real Commander корректно запускает всегда. В чем же отличие его запускалки от TRDN?
Чего в этом необъятного? :)Сейчас осталось свободно около 400 байтов в первой области кода и около 690 во второй. А мне еще хочется сделать просмотр содержимого псевдодисков.
- - - Добавлено - - -
Ребят, проверьте, пожалуйста, на ваших реалах.Подождите пока проверять. :) Завтра сделаю вам специальную тестовую версию.
В официальной версии в редких случаях не верю рассчитывается количество загружаемых секторов. По этой причине не работает Bomb Fusion for GS.
А вот Real Commander корректно запускает всегда. В чем же отличие его запускалки от TRDN?.Она не учитывает каталоги. :D
Во вложении тестовая версия (X5.1).
В ней справлен расчет количества загружаемых секторов в процедуре загрузки и запуска BASIC-файлов.
Evgeny Muchkin
03.12.2020, 12:59
В ней справлен
Bomb Fusion теперь запускается. TS плеер Карбофосов сбрасывается, как и раньше.
TS плеер Карбофосов сбрасывается, как и раньше.
сразу после загрузки или после вывода картинки/инфы на экран ?
Evgeny Muchkin
03.12.2020, 14:29
goodboy, вроде, картинку с сидящей девчонкой удается разглядеть на мгновение, и сразу ресет.
Evgeny Muchkin
03.12.2020, 18:18
Уточнение. Картинку удается различить во время ресета.
а если просто из trdos`a запустить тоже сбрасывается ?
Evgeny Muchkin
03.12.2020, 19:16
а если просто из trdos`a запустить тоже сбрасывается ?
Да. Из 128 трдоса сбрасывается в 48 бейсик. Если сразу после этого зайти в дос и запустить снова - работает.
Сбрасывается в 128 и в TRDN во всех режимах - Scorpion, Pentagon, Composit.
а ты с образа запускаешь или с реальной дискеты ?
на эмуле (в режиме скорпа) и из 128ого TRDOS спокойно запускается.
(хотя странно что из RealCommander работает)
Evgeny Muchkin
03.12.2020, 19:42
а ты с образа запускаешь или с реальной дискеты ?
на эмуле (в режиме скорпа) и из 128ого TRDOS спокойно запускается.
(хотя странно что из RealCommander работает)
И с образа и с реальной - одинаковое поведение.
Мне тоже кажется странным, что из RC ваще никаких проблем.
А на твоем реале норм?
А на твоем реале норм?
я его 100лет не включал и у меня просто зелёный скорп (из 90х без всяких наворотов)
.......
блин, там лютый *****код.
в один прекрасный момент I=#00; IM2; EI: HALT: DI
и выполняется переход на (#00FF)=#4FCE
выполняется всякий мусорный код среди которого встречается ret
Evgeny Muchkin
03.12.2020, 20:16
Я вот насколько помню, на моем скорпе (https://zx-pk.ru/threads/4057-perepis-dejstvuyushchikh-quot-realov-quot.html?p=1044501&viewfull=1#post1044501) (серая плата, тоже оттуда, из 90-х), когда он был еще без GMX было то же самое. Но, так как я пользовался тогда Real Commander'ом, меня это не парило.
Сейчас активно юзаю TRDN и наткнулся на такого фантома... Потому вопрос про USR 0 и возник, что внешне все на него указывает.
Не поленился, достал свой Пентагон, на который все духу не хватает собрать нормально в корпус, как задумано. Блин. Он нормально все запускает, хоть так, хоть сяк. Я даже TR-DOS пробовал шить той же версии, что и в GMX... Один фиг, работает.
В общем, пока загадка... :(
не поленись поставь в эмуле BreakPoint на #4FCE и увидишь подтверждение моих расследований
Я тестировал на ZX Evo в конфигурации Scorpion GMX. Результаты такие.
После сброса компьютера, при выборе пункта "128 TR-DOS", если после загрузки какого либо бута или TRDN в нем запустить player.B, то он сбросится на том же этапе, что вы описали.
Если выбрать пункт "128 BASIC", а потом набрать usr0, и после этого загрузить бут или TRDN, то запущенный player.B отработает свою загрузку как надо.
- - - Добавлено - - -
(хотя странно что из RealCommander работает)Сам я попробовал разные буты, но только пока один запустил player.B из "128 TR-DOS" - это оконный бут Н.Родионова 1990-го года.
Не поленился, достал свой Пентагон...
Он нормально все запускает...
В общем, пока загадка...Я тоже пока не понял, что конкретно этому player.B нужно.Но если удасться понять, то лучше всего сделать для него первичный загрузчик, который и делал бы всю нужную первичную подготовку. Похоже число бутов и командеров, после которых он способен выполнить свою работу, исчисляется по пальцам одной руки.
- - - Добавлено - - -
... достал свой Пентагон...
Он нормально все запускает...Кстати. В меню "128" прошивки Пентагона нет пункта"128 TR-DOS", который сразу грузит boot, а есть пункт "TR-DOS", который переходит на командную строку. Может в этом все дело?
- - - Добавлено - - -
там лютый *****код.Я тоже считаю, что винить командеры и буты не надо. Они как правило корректно загружают и запускают программы. А дальше все происходит без их контроля.
Evgeny Muchkin
04.12.2020, 12:01
Кстати. В меню "128" прошивки Пентагона нет пункта"128 TR-DOS", который сразу грузит boot, а есть пункт "TR-DOS", который переходит на командную строку. Может в этом все дело?
Я по всякому пробовал. И из 128 бэйсика в дос входил, и в меню дос выбирал..., - при любых вариациях запускалось.
Я тоже считаю, что винить командеры и буты не надо.
Я тоже так считаю. Просто поначалу все указывало на ковид... тьфу... на проблему USR 0 ;)
При этом, нельзя исключать, что коммандеры тоже в теме, т.к. природа явления пока не выяснена, и что подобное где-то еще не вылезет гарантия не на 100%.
Предположу, что что-то остается в памяти после коммадеров, и это что-то приводит к такому эффекту.
- - - Добавлено - - -
поставь в эмуле BreakPoint на #4FCE
Поставил. Не ловится :)
Но туда передается.
Кстати, в эмуле тоже виснет... Блин... На одном ноуте виснет, на другом не виснет. :) Версии UNREAL одинаковые, все настройки тоже.
- - - Добавлено - - -
Grand, регистр i какое значение имеет при запуске бейсиков?
Похоже, надо чтобы #3F там было.
Grand, регистр i какое значение имеет при запуске бейсиков?
Похоже, надо чтобы #3F там было.Это актуально для фирменного Спектрума 1982 года. TRDN не меняет режим прерываний и регистр I тоже.
Evgeny Muchkin
04.12.2020, 12:24
Это актуально для фирменного Спектрума 1982 года. TRDN не меняет режим прерываний и регистр I тоже.
Актуально, актуально.
В 128 бейсике i равен 5B. В 48 бейсике i равен 3F.
Получается, что когда мы запускаем что-то из TRDN, бейскик мы подставляем 48-й, а i у нас остается как у 128-го.
В результате получаем глюк виснущего плеера, для него это критично, он опирается на значения i. И неизвестно, сколько еще таких прог может быть.
В общем, надо i сделать 3F, раз уж бейсик 48-й и все будет хорошо.
похоже насчёт качества кода в плейере я ошибся.
это эмули задают I=0 ????
ну а плейер этот ноль и выставляет как вектор для im2
Evgeny Muchkin
04.12.2020, 14:46
goodboy, я так понял, важно, чтобы он после im2 не забыл включить im1, а для этого ему требуется i=3F перед запуском.
В 128 бейсике i равен 5B
очень сомнительно, я так понял I вообще не устанавливается (после сброса =0)
Evgeny Muchkin
04.12.2020, 15:53
очень сомнительно, я так понял I вообще не устанавливается (после сброса =0)
Да. Похоже на то. Это не 128 басик, а теневик (или загрузчик) скорпа i крутит. Поэтому на Пентагоне то и работает в любых вариантах. Теневик выставляет его в 5B и в результате висяк. А надо чтобы было, либо 0, либо 3F, тогда работает.
Соответственно, т.к. TRDN подключает 48-басик, то надо, чтобы он выставлял i=3F.
Вроде, разобрались :)
Evgeny Muchkin
04.12.2020, 17:55
Как временное решение добавил в драйвер памяти ld a,3f:ld i,a.
Теперь все работает.
Получается, что когда мы запускаем что-то из TRDN, бейскик мы подставляем 48-й, а i у нас остается как у 128-го.Этот интересный факт мне не был известен.
Во вложении тестовая версия X5.2. В стартовых процедурах TRDN выставляется I=#3F.
[bETA]mEN
05.12.2020, 12:20
Во вложении тестовая версия X5.2. В стартовых процедурах TRDN выставляется I=#3F.
Эмулятор ZXMAK2, конфигурация Scorpion Prof. Диск A - смонтирован с HDD. Не запускается вообще ничего.
Evgeny Muchkin
05.12.2020, 12:22
Grand, теперь вообще ничего не запускается :) Сразу сброс. :)
... вообще ничего не запускаетсяПогонял версию X5.2 и на реалах, и на эмуляторе Unreal Speccy. Ничего фатального не нашел.
Но скомпилил новую версию Х5.3. Тоже везде проверил ее. Посмотрите.
Эта версия стартует не с пустыми панелями, как предыдущая, а читает каталог текущего диска.
Но скомпилил новую версию Х5.3.
Запустил на железном эту версию и через неё проблемный плеер из образа TS_DEMON.SCL загрузился хорошо.
Запустил на железном эту версию и через неё проблемный плеер из образа TS_DEMON.SCL загрузился хорошо.goodboy и Evgeny Muchkin выяснили: player'у важно, что содержится в регистре I микропроцессора. Теневой монитор G5.00 пищит туда #5B, и это приводит к проблеме. V4.01 пишет туда #00, и там player запускается. BASIC 48 пишет #3F - видимо на это значение и рассчитывали авторы player'а.
Теперь в TRDN I будет выставляться в #3F.
Если больше нет идей по мелкому совершенствованию TRDN, которые можно быстро реализовать, то я выпускаю финальную версию.
Evgeny Muchkin
08.12.2020, 11:48
Grand, а в чем глубокий смысл меню, которое появляется при нажатии CapsShift? Может, его убрать в целях экономии места?
А отображение имен дисков (SMUC образов в частности) будет без пробела или запятой?
Grand, а в чем глубокий смысл меню, которое появляется при нажатии CapsShift? Может, его убрать в целях экономии места?
А отображение имен дисков (SMUC образов в частности) будет без пробела или запятой?Ну, в оболочку я вмешиваться не буду, ибо автор ее не я.
- - - Добавлено - - -
Grand, а в чем глубокий смысл меню, которое появляется при нажатии CapsShift? Может, его убрать в целях экономии места?Имеется в виду меню выбора устройств?
- - - Добавлено - - -
Или help-строка?
Evgeny Muchkin
08.12.2020, 13:07
Имеется в виду меню
74146
- - - Добавлено - - -
в оболочку я вмешиваться не буду
В смысле имена дисков так и будут по дебильному отображаться?
В смысле имена дисков так и будут по дебильному отображаться?А как лучше?
Evgeny Muchkin
08.12.2020, 13:56
А как лучше?
Повторюсь. Лучше сделать как в Grand's Boot.
Вот:
Я вот о чем. Фото, как отображает имя диска TRDN (с пробелом после 8-го символа, как файл), и при переименовании диска схожая ерунда, только с точкой после 8-го символа :)
И для сравнения как отображает те же диски GRAND'S BOOT - нормально без пробелов, вот так же и надо, наверное, сделать:
https://i1.imageban.ru/out/2020/11/20/e906ae95e19f71ae8563d581b2288fe4.jpg
https://i6.imageban.ru/out/2020/11/20/522288a69b219a79186bc98938e92a8e.jpg
https://i2.imageban.ru/out/2020/11/20/7984fc90215563dca0f89a68c4980293.jpg
74146
Если пользоваться расширенной клавиатурой, где отдельно вынесены курсорные клавиши, то перерисовку help-строки при нажатии CS может быть и можно считать лишней. Но на 40-а клавишной клавиатуре она вовсе не лишняя.
- - - Добавлено - - -
для сравнения как отображает те же диски GRAND'S BOOTИстория этого вопроса такова.
Когда я в середине 2000-х годов я еще не был соавтором TRDN, и адаптировал к Directory System свой GB, то спросил в письме у CityAceE: надо ли интерпретировать три последние символа имен каталогов как расширение, поскольку в документации про это ничего не сказано. Он ответил, что это на усмотрение авторов ПО. Тогда я сделал в GB 11-и символьные имена неразрывными, но сейчас считаю, что надо было сделать по аналогии с TRDN.
- - - Добавлено - - -
Думаю что это применительно и к именам псевдодисков
Evgeny Muchkin
09.12.2020, 08:49
но сейчас считаю
Хотелос.ь бы по ня.ть ход мыс.ли, почему надо было сде лать по анало.гии с TRDN и писать имя ди ск.а че.рез т очку и л и про.бел. Это выгля дит л.учше?
Хотелос.ь бы по ня.ть ход мыс.ли,Я уже про это писал.
Оболочка TRDN отображает имена элементов в виде 8+3 - имя и тип в своем столбце. Когда элемент замаркирован, между именем и типом рисуется символ с кодом #FB. Конечно, сейчас имена прсевдодисков не маркируются, но в будущем - может быть.
Мне кажется вполне логичным, что дополнительные три символа к имени диска воспринимаются как
расширение.
- - - Добавлено - - -
А как лучше?
Лучше сделать как в Grand's Boot..Ну, а другие мнения есть?
Evgeny Muchkin
09.12.2020, 11:25
Grand, ну это же не имена файлов. В имени диска откуда там расширение? Имя диска это цельный элемент, в отличии от имени файла.
И маркировать по именам дисков тоже не проблема. Если три символа в конце имени сдвинутся влево на символ, то свободный символ появится справа сразу после имени. Вот туда то и можно (нужно) будет ставить галочку маркирующую. Если это, конечно, потребуется в будущем, может быть :)
Красиво и корректно.
А про точку в окне переименования диска я вообще молчу. Тут она как глюк или недоделка воспринимается.
Ждем, что скажет ZX-социум :)
Ждем, что скажет ZX-социум :)
Лучше, конечно, когда единообразно сделано. И по-моему имена дисков всегда были без расширения на том же MSDOS. То есть привычнее без расширения.
С другой стороны, у TRDOS стандартно имя диска 8 символов, как я понимаю, а последние три новый стандарт.
С другой стороны, у TRDOS стандартно имя диска 8 символов, как я понимаю, а последние три новый стандарт.
Если есть возможность без потери совместимости "увеличить" длину имени на 3 символа, то это нужно делать.
NEO SPECTRUMAN
09.12.2020, 18:49
Ждем, что скажет ZX-социум
а где гарантия что эти 3 байта не используются кем либо еще?
а так надо собирать зхсоциум
и придумывать куда расширять тырдырдос дальше
тк есть тонны старого софта
а 640К хватит всем
когда сам формат хранения трдос можот адресовать 256 дорожек по 256 секторов то есть 16М
да и сам трдос может хранить 128 файлов длиной 255 секторов то есть 7,96М файлов
что уже выглядит по лучше чем "хватит всем"
жмени 8 мегабайтные trd можно было бы хранить на sd карте
Если есть возможность без потери совместимости "увеличить" длину имени на 3 символа, то это нужно делать.
главное чтоб у имени диска не было расширения :v2_lol:
ну а кто захочет расширение для диска
пусть пишот сраную точку
Перед тем как выпустить финальную версию TRDN, я решил выпустить последнюю тестовую (X6.1).
Предлагаю всем желающим проверить ее работу.
Это релоцируемый code-файл предназначенный для запуска с любого файлового устройства. Подробная инструкция в документации к последней официальной версии TRDN.
Если вы будете запускать code-файл с FAT-устройства на компьютере Scorpion с ProfROM, а в текущем дисководе не будет диска, то жмите BREAK, так как там нет автоматической обработки ситуации No disk.
Evgeny Muchkin
10.12.2020, 14:07
Работает. Имена превдодисков на SMUC кривые, как и раньше. ;)
NEO SPECTRUMAN
10.12.2020, 19:50
КСТАТЕ
1. какого хрена нет boot-а?
2. какого хрена программа зовется на все долбанные 8 символов? еще и через КАПС
хоть кто нить подумал что кому то придется вписывать это *****е TRDN757b ручками?
во всем командерах юзают сокращенное имя для более быстрого и удобного запуска типа nc dn чо тут за выпендреж*
КСТАТЕ
1. какого хрена нет boot-а?
2. какого хрена программа зовется на все долбанные 8 символов? еще и через КАПСКогда-то я выкладывал файлы в hobeta'е, чтобы каждый смог записать их на свой диск со своим любимым бутом, но всем не нравилось. Сейчас выкладываю в trd - тоже не нравится. :)
Имя файла можно переименовать по своему вкусу. Но я лично затруднения не вижу. Так и набираю частенько в командной строке:
RUN "c:TRDN757b"
Пальцы сами бегают по клавиатуре. :)
NEO SPECTRUMAN
11.12.2020, 06:32
RUN "c:TRDN757b"
Пальцы сами бегают по клавиатуре.
а ты зайди на ютуб
и посмотри как запускают программы
секунд 6 листают 5 пунтов 128 менюшки ТУПО вниз чтоб попасть в трдос :v2_dizzy_facepalm:
потом 20 секунд вводят имя с ошибками
с эмуляторов вообще обычно не ясно где *****е щифты
они всегда находятся методом научного тыка
да и название у тебя звезданутое
чтоб его набрать сначала еще нужно сделать list и глянуть
могу посоветовать переименовать в tRdN)&CLOSE #©
чтоб еще удобней :)
интересно какого хрена унриал не подставляет под это ***** свой бут?
он его что в неиспользуемые сектора пытается запихнуть?
которые тут как раз уже тютю...
- - - Добавлено - - -
Когда-то я выкладывал файлы в hobeta'е, чтобы каждый смог записать их на свой диск со своим любимым бутом, но всем не нравилось. Сейчас выкладываю в trd - тоже не нравится.
есное дело
этот набор хобет еще нужно каким то хреном закинуть в трд чтоб запустить
и если натив юзеру может и понятно что делать
то пользователю другой платформы
когда он видит жменю левых .com вместо какого нибудь dsk
проще запустить эту софтварь нахрен чем запустить :)
Evgeny Muchkin
11.12.2020, 08:21
NEO SPECTRUMAN, что за обозлённая муха тебя укусила? ;)
... потом 20 секунд вводят имя с ошибкамиЗато у них наверное с джойстиком лучше получается. :)
с эмуляторов вообще обычно не ясно где *****е щифтыСогласен. Пока все сам под себя не настроешь, удобства не жди.
интересно какого хрена унриал не подставляет под это ***** свой бут?Он в SCL подставляет.
он его что в неиспользуемые сектора пытается запихнуть?
которые тут как раз уже тютю...Не обязательно. Это может быть любой пользовательский бут.
Я все-таки надеюсь, что если кто-то захочет пользоваться TRDN, он сможет и переименовать его по желанию.
NEO SPECTRUMAN
11.12.2020, 08:33
Он в SCL подставляет.
в трд вроде же тоже о_О
хотя надо проеерить
- - - Добавлено - - -
Я все-таки надеюсь,
все таки лучше когда все работает из коробки
Я стараюсь избегать коротких и неопределенных имен, чтобы не было путаницы с версиями файлов на одном диске . Мы в этом году выпустили уже несколько версий TRDN, их файлы одинаковой длины и отличаются только именами. Ведь если имя будет, скажем, tn.B, то не запустив его, не узнаешь что это за версия.
CityAceE
11.12.2020, 11:20
То, что выкладывается в этой ветке - это дистрибутив. Кому-то имя может не понравится, кому-то файлы документации и другие файлы будут лишними. Думаю, что каждый под себя в состоянии и файл переименовать как ему нравится, и удалить лишние файлы.
NEO SPECTRUMAN
11.12.2020, 11:45
не узнаешь что это за версия.
жесть логика...
...
...
КСТАТЕ
1. какого хрена нет boot-а?
Но там же положен boot. Или я уже другую версию скачал.
NEO SPECTRUMAN
11.12.2020, 14:39
Мы в этом году выпустили уже несколько версий TRDN, их файлы одинаковой длины и отличаются только именами.
чтобы не было путаницы с версиями файлов на одном диске
в ответ я хотел сказать в шутку
"ты шо пишошь оно в алясме?"
но передумал...
...щас заглянул в архив с src и...
...и вощем это все объясняют... :v2_dizzy_facepalm:
Но там же положен boot. Или я уже другую версию скачал.
перекачал с первого пста
https://jpegshare.net/images/b3/39/b339928fba0f9aee22522c21ece06ae0.png
бутом не пахнет
может у тя унриал нормально прицепил к нему бут как это и должно быть
перекачал с первого пста
нет, я то про тестовую версию trdnx61.zip (https://zx-pk.ru/attachment.php?attachmentid=74158&d=1607565792), в ней есть бут.
Отличный коммандер , давно пользуюсь :v2_dizzy_punk:
Отделенное спасибо за code версию.
Evgeny Muchkin
11.12.2020, 23:58
спасибо за code версию
Сори за офф, а в чем надобность её? И польза?
Отличный коммандер , давно пользуюсь :v2_dizzy_punk:
Отделенное спасибо за code версию.В ближайшее время ожидается выход новой официальной версии TRDN и code-версии тоже.
NEO SPECTRUMAN
13.12.2020, 12:16
code-версии
а шо такое коде версия?
а шо такое коде версия?Ну вы, блин, даете, я их уже лет пять делаю. :) С FAT'а их можно запускать FATAL'ом, например. Описание в TRDN.WRD в дистрибутиве.
NEO SPECTRUMAN
13.12.2020, 12:35
Ну вы, блин, даете, я их уже лет пять делаю
но в первом посте их не видно :)
но в первом посте их не видно :)Как это??? Файл TRDN757b.C на скриншоте в твоем сообщении #428.
- - - Добавлено - - -
Это и есть релоцируемая code-версия.
NEO SPECTRUMAN
13.12.2020, 12:49
сообщении #428.
если чо можно давать ссылки на любой пост
сам номер же и есть ссылка
https://zx-pk.ru/threads/2952-tr-dos-navigator-%28trdn%29.html?p=1093907&viewfull=1#post1093907
Как это??? Файл TRDN757b.C на скриншоте
тогда я вообще ничего не понел
где тогда не code версия :)
Это и есть релоцируемая code-версия.
кого тогда запускает бейсиковский файл o_O
если чо можно давать ссылки на любой пост
сам номер же и есть ссылка
https://zx-pk.ru/threads/2952-tr-dos-navigator-%28trdn%29.html?p=1093907&viewfull=1#post1093907
тогда я вообще ничего не понел
где тогда не code версия :)
кого тогда запускает бейсиковский файл o_OЯ со смартфона набираю. Это не так просто. :)
TRDN757b.B - TR-DOS версия, составной файл 62 блока.
CityAceE
13.12.2020, 17:32
Grand выпустил новую версию - v0.75.9b. Добавил её в первое сообщение.
Evgeny Muchkin
14.12.2020, 13:12
Работает. К сожалению имена SMUC псевдодисков и имя диска при его переименовании так и отображаются "с расширением". :( Смотрится коряво.
Спасибо всем, кто участвовал в тестировании TRDN и поисках багов. Отдельное спасибо тем, кто помогал мне в работах над поддержкой Scorpion с ProfROM и GMX.
Кроме указанных в первом сообщении особенностей V0.75.9b, есть еще одна: после нажатия любой клавиши на появление сообщения "Catalogue data is corrupt" работа с поврежденным каталогом продолжается, но на страх и риск пользователя.
К сожалению имена SMUC псевдодисков и имя диска при его переименовании так и отображаются "с расширением".Заниматься этими и подобными изменениями станет возможно после выхода V0.80b.
CityAceE
16.12.2020, 11:30
Спасибо всем, кто участвовал в тестировании TRDN и поисках багов. Отдельное спасибо тем, кто помогал мне в работах над поддержкой Scorpion с ProfROM и GMX.
Да, в этот раз знатное обсуждение случилось. Если бы изначально к программе был бы такой же интерес хотя бы со стороны нескольких человек, то скорее всего работа шла бы побыстрее.
NEO SPECTRUMAN
17.12.2020, 14:54
то скорее всего работа шла бы побыстрее.
если оно было бы переписано под sjasm
работа тоже бы шла побыстрее :)
- - - Добавлено - - -
и вообще на ПЦ есть подсветка синтаксиса
https://jpegshare.net/images/26/cf/26cf53cf0179c268096d2eee76e23ed4.png
я ужо не представляю как без нее можно кодеть
CityAceE
17.12.2020, 15:29
если оно было бы переписано под sjasm
TRDN изначально писался на реале. Grand, хоть тоже всё и писал на реале, но пользовался другим ассемблером. И когда он присоединился к написанию TRDN, ему пришлось осваивать ALASM. И до сих пор разработка ведётся именно на ALASM'е и, если я не ошибаюсь, всё ещё на реале. Исходники под SJAsmPlus уже переведены для удобства и выложены в первом сообщении, но переведены они исключительно для общественности. Про подсветку синтаксиса и общее удобство использования методов кросс-компиляции соглашусь - сам привык уже. Только я пользуюсь тёмной темой ;)
https://pic.maxiol.com/images2/1608208089.1604655705.batty.png
NEO SPECTRUMAN
17.12.2020, 15:56
и выложены в первом сообщении,
судя по всему не больше чем дней 5 тому назад
пользуюсь тёмной темой
ну я перешел на sjasm с ємузвин-а
и поэтому потом нарисовал для себя "привычную" подсветку как там :)
но пожирнее чтоб лучшо видеть
и в общем теперь ляпота :v2_dizzy_roll:
CityAceE
17.12.2020, 16:06
судя по всему не больше чем дней 5 тому назад
Нет. Уже давно исходники выкладываются именно в таком виде.
NEO SPECTRUMAN
17.12.2020, 16:14
Нет. Уже давно исходники выкладываются именно в таком виде.
угу это мну немного не тудо
Evgeny Muchkin
22.12.2020, 22:53
TRDN изначально писался на реале.
Все долгоиграющее именно на реале изначально и писалось. :)
Мы продолжили совершенствовать и V0.74b - последнюю версию без поддержки Scorpion'а.
Выпущена V0.74.4.1b, а также ее исходные ассемблерные тексты.
... и вообще на ПЦ есть подсветка синтаксиса
https://i.postimg.cc/hGJ8M0Fm/pic00.jpg (https://postimages.org/)
я ужо не представляю как без нее можно кодеть
... до сих пор разработка ведётся именно на ALASM'е и, если я не ошибаюсь, всё ещё на реале.Это так. Но большую часть времени я работаю с распечаткой. А там весь текст чернобелый. :)
Сейчас распечатка TRDN выглядит так.
https://i.postimg.cc/CBMBj08W/pct01.jpg (https://postimg.cc/CBMBj08W)
Эта документация состоит из 37-и листов, распечатанных в разное время (начиная с конца 2005 года) на разных принтерах и компьютерах с помощью разного ПО (первые распечатки были сделаны на Spectrum-совместимом компьютере с использованием собственного ПО).
В процессе работы в документацию вносятся исправления.
https://i.postimg.cc/xknc2Q6c/pct02.jpg (https://postimg.cc/xknc2Q6c)
Когда какой-либо лист перестает быть удобочитаемым, то заменяется на новый.
За годы работы практически во все лесты были внесены множество изменений, но все же остался один нетронутый лист, напечатанный на Спектруме с помощью матричного принтера в 2005 году. :)
https://i.postimg.cc/bDvrZTcP/pct03.jpg (https://postimg.cc/bDvrZTcP)
Такого я ещё не видел. // Поднял челюсть с пола. Снял шляпу.
Нами завершается работа над новой версией TRDN.
Из главного - сделана возможность входа в псевдодиски SMUC HDD компьютера Scorpion, просмотр без предварительного монтирования псевдодиска (т.е. пряио с HDD) каталогов DirSys, содержимого файлов, ZXZIP-архивов, картинок.
Приглашаем всех желающих принять участие в тестировании.
Первоочередная задача - проверить работу тестовой версии на реальных компьютерах Scorpion GMX. В свою очередь мной проверялась работа этой тестовой версии на фирменном Scorpion ZS 256 Turbo и Scorpion 1024.
Во вложении тестовая версия TR-DOS Navigator X7.2.
Скопируйте TRD-образ из ZIP-архива на TR-DOS-диск. Вставьте его в дисковод на реальном компьютере и запустите файл "TRDNX72.B".
https://i.postimg.cc/P5D0ycbQ/trdnx71.png (https://postimages.org/)
Как и в предыдущей версии 0.75b, если SMUC HDD будет успешно определен, то появится как Е: в меню устройств (SS + 1 или SS + 2).
Когда на файловой панели открыт псевдодиск (на устройстве E:), возможен просмотр его его файлов как текст или дамп клавишей "3", несмотря на то, что "3 View" не отображается в help-строке в нижней части экрана. Клавишей "Enter" возможен просмотр ZXZIP-архивов и картинок, а также запуск BASIC-файлов, который осуществится после монтирования псевдодиска.
Монтирование псевдодиска в этой версии осуществляется другим способом, нежели описанном в статье Влада Сотникова "Spectrum и винчестер" (https://abzac.retropc.ru/content?id=370): сначала на HDD записываются данные в сектор млнтирования, а потом выполняется RST 8 с командой автомонтирования для требуемого устройства.
Чтобы примонтировать псевдодиск нужно либо установить курсор на его имя, либо войти в него, а потом нажать SS + T; также можно запустить исполняемый BASIC-файл. Во всех случаях появится запрос на выбор устройства монтирования.
Размонтирование псевдодиска осуществляется как и в V0.75b - SS + Z.
При тестировании на компьютерах Scorpion необходимо выяснить следующие: стабильно ли запускается и работает тестовая версия; работает ли просмотр содержимого псевдодисков в TR-DOS-разделах на SMUC HDD; происходит ли надежное монтирование псевдодисков на устройства TR-DOS (доступны ли они после этого и в TR-DOS, и в Теневом мониторе) (опция монитора H.Hard disk utility > M.TRDOS mirror должна быть ON).
Сообщайте здесь о результатах тестирования. Принимаются любые предложения и замечания.
Просьба - не распространять эту тестовую версию на других сайтах, поскольку она не является законченным программным продуктом.
Вложение удалено после 79 просмотров.
Здравствуйте! Спасибо за отличную программу!
У меня есть несколько вопросов, ответа на которые я пока нигде не могу найти. Буду благодарен за ответы или указание на источник информации.
1) Может ли TRDN просматривать листинг Basic файлов?
2) Можно ли загрузить автозапускаемый Basic-файл без автозапуска (аналог команды Merge при пустом бейсике в TR-DOS)?
3) Есть ли возможность более простого, чем перезапуск компа, возврата в TRDN из бейсика (аналог RANDOMIZE USR 15616 для TR-DOS)?
1) Может ли TRDN просматривать листинг Basic файлов?
2) Можно ли загрузить автозапускаемый Basic-файл без автозапуска (аналог команды Merge при пустом бейсике в TR-DOS)?
3) Есть ли возможность более простого, чем перезапуск компа, возврата в TRDN из бейсика (аналог RANDOMIZE USR 15616 для TR-DOS)?Увы. К сожалению, все это в отдаленной перспективе. :(
Увы. К сожалению, все это в отдаленной перспективе. :(
Когда (и если) в будущем у вас дойдут руки до этих инструментов, дайте знать, если пригодится моя неквалифицированная помощь по более четкому формулированию этих пунктов и по тестированию. Удачи!
1) Может ли TRDN просматривать листинг Basic файлов?
2) Можно ли загрузить автозапускаемый Basic-файл без автозапуска (аналог команды Merge при пустом бейсике в TR-DOS)?
3) Есть ли возможность более простого, чем перезапуск компа, возврата в TRDN из бейсика (аналог RANDOMIZE USR 15616 для TR-DOS)?Примечательно, что все это мне приходилось реализовывать в разных своих программах. Но чтобы сейчас воплотить это в TRDN, требуется поменять его структуру. А это планируется в версии 0.80b.
2) Можно ли загрузить автозапускаемый Basic-файл без автозапуска (аналог команды Merge при пустом бейсике в TR-DOS)?Это сделано в моем Grand's Boot'e: 1007335.
3) Есть ли возможность более простого, чем перезапуск компа, возврата в TRDN из бейсика (аналог RANDOMIZE USR 15616 для TR-DOS)?Похожего можно добиться на Скорпионе, воспользовавшись системой MagOS.
Спасибо! Буду следить за обновлениями.
И за ссылки/наводки спасибо. У меня как раз скорпион.
DragonsLord
02.03.2021, 19:22
зип и анзип встроить не забудьте.
Evgeny Muchkin
02.03.2021, 21:24
стабильно ли запускается и работает тестовая версия;
Не висло. :)
работает ли просмотр содержимого псевдодисков в TR-DOS-разделах на SMUC HDD;
Работает. Очень удобно.
происходит ли надежное монтирование псевдодисков на устройства TR-DOS
Есть проблема при монтировании на A и B, если к этим буквам в данный момент 'подключены' реальные дисководы. Монтирование по SS+T работает всегда нормально. А если пытаться запустить бейсик файл, то 'образ' не монтируется и обращение идет к реальному дисководу. Если же к A или B до попытки запуска бейсика уже был подключен любой образ со SMUC, то все работает.
Пожелания:
- сделать еще одну комбинацию в дополнение к SS+T. Например CS+Enter. Ускорит и сделает навигацию более удобной.
- сделать более информативным процесс копирования и уплотнения, чтобы было видно какой файл и куда в данный момент копируется; типа как в Dos Navigator.
- всё-таки убрать окно про "каталог коррупт". Мешает только. Лучше выдавать это предупреждение при попытках копирования только.
- не сбрасывать маркировку с файлов в случае если на диске приемнике нет места, оставлять её как было до нажатия "5", чтобы можно было без труда снять отметку с лишних файлов и повторить попытку копирования.
- при копировании давать выбирать букву диска приемника
- повторюсь, сделать нормальное отображение имен дисков, и при отображении на панели, и при переименовании дисков. Т.е. без пробелов, запятых и точек выводить все 10 или сколько там максимально возможно символов.
- сделать свой драйвер клавиатуры и чтобы Caps Lock научился понимать тоже.
- выбор дисков, когда на экране окошко A B C D... чтобы можно было делать и клавишами-буквами, дискам соответствующим.
Мои старые архивы zip открывает. Да, хотелось бы и посмотреть файлы внутри, и распаковать тут же ). Но правда архивов у меня не много.
зип и анзип встроить не забудьте.Можно было бы попробовать вставить ZXUNZIP, Если бы были исходники распаковщика.
- сделать еще одну комбинацию в дополнение к SS+T. Например CS+Enter.Тут есть трудность. Этот код не генерирует процедура опроса клавиатуры из ПЗУ. Потребуется серьезная - не серьезная, но доработка.
- сделать более информативным процесс копирования и уплотнения, чтобы было видно какой файл и куда в данный момент копируется;Процедура копирования/дефрагментации одна из немногих, в которую я мало вникал. Как и во многих командерах она работает не по файлами, а по блокам (для ускорения процесса), а каталог формируется уже в завершении.
- всё-таки убрать окно про "каталог коррупт". Мешает только. Лучше выдавать это предупреждение при попытках копирования только.Тут ситуация не однозначная. Ведь знать все же необходимо, что данные каталога диска повреждены или изуродованы какой-либо защитой от копирования.
- сделать свой драйвер клавиатуры.Имеется ввиду таблица раскладки?
Остальные пожелания я конечно же учту, но реализация возможно только в будущем.
Ошибки будут устранены.
Evgeny Muchkin
03.03.2021, 12:40
Тут ситуация не однозначная. Ведь знать все же необходимо, что данные каталога диска повреждены или изуродованы какой-либо защитой от копирования.
Полностью согласен по поводу неоднозначности. Предлагаю сделать вывод предупреждения непосредственно перед копированием с/на такие диски, типа, "Диск кривой, за результат не отвечаю. Продолжить? Y/N". И/или можно где-нибудь на панели отображать значок типа (!) , сигнализирующий, что с каталогом что-то не то.
Имеется ввиду таблица раскладки?
Не совсем. Свой драйвер, чтобы можно было любые комбинации клавиш ввести в управление, которые стандартной 'опрашивалкой' не обрабатываются. CS+Enter, например. И чтобы Caps Lock работал тоже.
DragonsLord
03.03.2021, 23:37
Можно было бы попробовать вставить ZXUNZIP, Если бы были исходники распаковщика.
Алоний с удовольствием даст тебе любые исходники пковщиков/распаковщиков. Спроси его, он пришлёт.
когда на экране окошко A B C D... чтобы можно было делать и клавишами-буквамиГорячие клавиши в окнах выбора устройств есть во всех версиях TRDN.
проблема при монтировании на A и BС причиной этого я разобрался. Попробую реализовать пожелания (если на это не потребуется много памяти - осталось в сумме менее 800 байтов). Потом выпущу новую тестовую версию.
Evgeny Muchkin
04.03.2021, 11:22
Горячие клавиши в окнах выбора устройств есть во всех версиях TRDN
Сори, с Grands Boot спутал :)
Сори, с Grands Boot спутал :)Это ничего. Я лишний раз убедился, что все работает и не сломалось. :)
Есть проблема при монтировании на A и B, если к этим буквам в данный момент 'подключены' реальные дисководы.Исправлено.
Пожелания:
- сделать еще одну комбинацию в дополнение к SS+T. Например CS+EnterСделано в дополнение к SS + T еще и CS + Enter. Проверяйте насколько это удобно. Если не пронравится CS + Enter, то уберу.
- всё-таки убрать окно про "каталог коррупт". Мешает только.Сделал, чтобы в случае поврежденного основного каталога TR-DOS на Info-панели в строке "Disk type" была отметка "Corrupt".
https://i.postimg.cc/Jn0sKVS0/trdnx73.png (https://postimages.org/)
В финальной версии вывод окна предупреждения будет возможно отключить. А в этой тестовой версии оно выводится как прежде.
- не сбрасывать маркировку с файлов в случае, если на диске приемнике нет места,Это есть.
- сделать свой драйвер клавиатуры и чтобы Caps Lock научился понимать тоже.Сделан Caps Lock (CS + 2) в редакторе, но индикации этого режима никакой нет. При запуске BASIC-программы или выходе из TRDN - Caps Lock сбрасывается.
Что касается драйвера клавиатуры, то он был в V0.67b. Однако в последствии я его убрал, руководствуясь убеждением, что системная программа должна использовать системные функции, а не дублировать их. Кроме экономии памяти, благодаря использованию системного опроса клавиатуры стало возможным с V0.70b сделать часы такими, какими они присутствуют сейчас: они могут идти даже если нет интерфейса часов, - от системного таймера.
А CS + Enter проще опросить так:
LD A,#BF
CALL 8022
;на выходе: CY=0 - CS/Enter нажато.
Вложение удалено после 175 просмотров.
какие-то НОВЫЕ сочетания клавиш добавляются, какой-то редактор текста там есть, оказывается! вы как все об этом узнаете?? где почитать описание всех уже имеющихся сочетаний клавиш и всех имеющихся возможностей? в хэлпе не нашел.
... где почитать описание всех уже имеющихся сочетаний клавиш и всех имеющихся возможностей?Редактор там строчный. Вызывается, когда мы вводим/редактируем имя файла/диска/каталога. Ну а Руководство есть
в комплекте к последней официальной версии TRDN в первом сообщении темы. :)
Здесь я только пишу про отличия.
Есть ли мнения относительно Caps Lock в строчном редакторе и CS/Enter для монтирования псевдодисков? Оставить все это в финальной версии?
Evgeny Muchkin
15.03.2021, 14:00
Есть, нужно! :)
Есть ли мнения относительно Caps Lock в строчном редакторе и CS/Enter для монтирования псевдодисков? Оставить все это в финальной версии?
CS/Enter удобно, мне нравится. Caps Lock хорошо, я и не знал что он не работал.
Осталось сделать поиск по образам дисков как в scboot, только лучше. Ну и поддержку fat. Чтобы уж всё в одном месте было.
Осталось сделать поиск по образам дисков как в scbootС scboot'ом у меня не заладилось: он не заработал на моем фирменном Scorpion ZS 256 Turbo. Я писал об этом в соответствующей теме (https://zx-pk.ru/threads/13411), так что не стоит повторятся. В добавок, программа не документирована, и что она должна уметь, я не знаю. :) Автор не скрывал, что писал ее на эмуляторе, видимо отсюда и проблемы. Это одна из причин, почему TRDN создается на реальном Скорпионе.
- - - Добавлено - - -
...Ну и поддержку fat. Чтобы уж всё в одном месте было.
FAT'ом заниматься на Спектруме
я не хочу по нескольким причинам. Одна из них - бесперспективность этой ФС: от нее отходят в последних мелкософтовских ОС. а ведь мелкософт ее когда-то и выдвинула.
Всем понятно, что FAT на Спектруме используется только для хранения файлов на носителях большого объема. Но для этого подойдет простая ФС, выбраная из существующих или специально разработанная. Пример - файловая система раздела MFS на SMUC HDD.
С scboot'ом у меня не заладилось
У меня какие-то три версии лежат. Работает вроде бы одна.
74948
Там поиск по части имени файла выдаёт список где оно встречается, и сразу можно перейти в этот образ. Не хватает галочки игнорировать большие\маленькие символы, и шаблоны "*" и "?". И будет совсем хорошо.
И в самой панели TRDN нужен поиск по буквам среди файлов как это сделано в тотальном командире. Чтобы любую часть имени файла искало.
Я от жадности ещё много что могу вспомнить что есть удобного в Total Commander.
FAT'ом заниматься на Спектруме
я не хочу по нескольким причинам. Одна из них - бесперспективность этой ФС: от нее отходят в последних мелкософтовских ОС.
Ну вообще fat до сих пор стандарт, где только его нет. Мне вот не известен софт, который умеет одновремменно и с разделами smuc работать, и с fat. А было бы удобно всё в одном.
Grand,
FAT'ом заниматься на Спектруме
я не хочу по нескольким причинам. Одна из них - бесперспективность этой ФС: от нее отходят в последних мелкософтовских ОС.
От поддержки устройств на этой ФС мелкософт не отходит и не отойдет еще долго. И именно поэтому эта ФС могла бы стать хорошим связным между PC и ZX.
Но это я так, объективности ради ) Лично мне FAT на ZX пока не нужен.
На практике все иначе: fat-дискеты двойной плотности уже давно системой windows не записываются, система windows на fat уже не устанавливается. На флешках уже exFAT.
Это я тоже для объективности. :)
- - - Добавлено - - -
Ну вообще fat до сих пор стандарт, где только его нет.Стандарты создаем мы сами. Когда все начинают пользоваться одним и темже - появляется "стандарт", когда перестают - "стандарт" рушится. Пример - еще 15 лет назад "стандартом" интернет-браузера был Internet Explorer. В силу совокупности причин им пользоваться перестали (я - один из первых). И теперь в наши дни: интернет есть, мы - есть, а IE - нет. :)
Тогда что делать? Win умеет только ntfs и fat. Делать на спеке ntfs? Носить файлы же надо туда-сюда.
Кстати, в светлом будущем в TRDN будет поддержка карты zxlan, вот тогда будем из общей папки по сети всё тягать. Тогда не надо fat ).
На этот раз это релоцируемая code-версия. Может быть запущена с любого файлового устройства (в том числе с упомянутого нами fat'а). Инструкция по запуску есть в файле install.txt, но можно запустить и с помощью моего бута: шелкните по имени trdnX74.C, параметры в окне "Run .C-file" можно оставить по умолчанию, а можно поменять стартовые адреса, раз файл релоцируемый.
Сделано:
- функция SS/S теперь не очищает, а удаляет DirSys;
- отключено окно "Catalogue data is corrupt". Теперь включайте info-панель (CS/L), чтобы узнать состояние диска. :)
Вложение удалено после 10-и просмотров.
Тогда что делать? ... Носить файлы же надо туда-сюда.Проблема должна решаться со стороны iBM PC. Еще для W98 были написаны Spectrum Navigator и AMD Copier, чтобы работать с TR-DOS-дисками, потом появились другие программы.
На Спектруме некоторые кодеры сделали поддержку FAT'а, но лично я никогда FAT на Спектруме не популяризировал, не использовал и не продавал устройств, где эта поддержка требуется.
Если будет использоваться альтернативная файловая система, то ее поддержку и следует сделать на заинтересованных платформах в равной степени.
Кстати, в светлом будущем в TRDN будет поддержка карты zxlan, вот тогда будем из общей папки по сети всё тягать. Тогда не надо fat )Было бы хорошо, если бы для Спектрума было единое хранилище программ, как для Linux. И FAT'а там действительно точно не будет. :)
Мы всё поняли, Grand не любит FAT )
https://im0-tub-ru.yandex.net/i?id=9b6086f9fcbecdd68744235fcd9ecabd&n=13
В предыдущей тестовой версии обнаружился баг, связанный с Caps Lock'ом. Я уже разобрался, но пока в ней Caps Lock лучше не включать. :)
Evgeny Muchkin
18.03.2021, 11:13
А TRDN умеет отображать только бейсик файлы?
А TRDN умеет отображать только бейсик файлы?Чтобы на ФП были только одни B-файлы? Я подумывал сделать это. Но сейчас в TRDN осталось примерно 300 свободных батов в первой области кода и около 600 во второй. Мне нужны эти байты, чтобы сделать версию 0.80 - тогда будет свободно плюс 8К и можно будет подумать над нововведениями.
Чтобы на ФП были только одни B-файлы?
Да и просмотр содержимого бэйсик файла было бы круто. То есть нормальный листинг. Но это, конечно, много возни.
А нельзя сделать на кнопке 2 переименование файлов? Как в Win F2 типа.
На счёт памяти: не делали так, чтобы в решиме 48к грузилась просто обрезанная версия командера, а доп. функции были только в 128к? Наверное была такая идея.
Evgeny Muchkin
18.03.2021, 12:28
На счёт памяти: не делали так, чтобы в решиме 48к грузилась просто обрезанная версия командера, а доп. функции были только в 128к?
Я то же самое хотел предложить :)
Да и просмотр содержимого бэйсик файла было бы круто. То есть нормальный листинг. Но это, конечно, много возни.Вовсе нет. :) Никакой возни -
все делает ПП из ПЗУ. Всё упирается только в отсутствие памяти.
А нельзя сделать на кнопке 2 переименование файлов? Как в Win F2 типа..Я на 2 предполагал повесить редакцию "метаданных" файла - длинну, стартадрес... или что-то еще.
На счёт памяти: не делали так, чтобы в решиме 48к грузилась просто обрезанная версия командера, а доп. функции были только в 128к?Предполагается, что в 48К TRDN будет такой, как сейчас, а в 128 - меню всех функций + ряд новых функций.
а не рассматривалась ли идея внешних просмотрщиков для разных форматов? например, чтобы для просмотра листинга бейсика просто загружалась бы и запускалась внешняя отдельная прога. а потом из нее был бы возврат обратно в trdn (с подгрузкой его заново с дискеты, если памяти не хватает).
а не рассматривалась ли идея внешних просмотрщиков для разных форматов?Была, конечно, примерно такая идея много лет назад - подгружать оверлей с редактором, плейером и т.д., но мы к ней так и не приблизились. С другой стороны придется постоянно держать в дисководе "системный" диск, а это не оптимально для TR-DOS.
Ну почему постоянно. По запросу втыкать можно.
Я тут переделал Caps Lock и появилась возможность сохранить его состояние вместе с остальными настройками по SS/9. Нужно ли это кому-нибудь?
Evgeny Muchkin
19.03.2021, 11:12
Caps Lock и появилась возможность сохранить его
Думаю, не нужно.
Была, конечно, примерно такая идея много лет назад - подгружать оверлей с редактором, плейером и т.д., но мы к ней так и не приблизились. С другой стороны придется постоянно держать в дисководе "системный" диск, а это не оптимально для TR-DOS.
Было бы неплохо оверлеи разместить в расширенной памяти :v2_dizzy_botan:
TR-DOS-версия командера.
Вохможно, это последняя тестовая версия, за которой будет выпущена финальная.
Сделано:
- поправлен Caps Lock в строчном редакторе.
- по прежнему отключено окно "Catalogue data is corrupt", однако в финальной версии оно будет включено по уиолчанию и желающие смогут его отключить.
- в этой тестовой версии возможно сохранение настроек по SS/9.
Вложение удалено после 12-и просмотров
CityAceE
30.03.2021, 08:33
Grand выпустил новую версию коммандера - V0.76b. Список изменений и вложение, как обычно, в первом сообщении данной темы.
Руководство новой версии TRDN (файл TRDN.WRD) также претерпело некоторые изменения. Так полностью переписан раздел "Работа с жестким диском".
Как я и обещап, дистрибутивная версия выводит окно "Catalogue data is corrupt", еспи находит несуразности в каталоге TR-DOS-диска, поскольку считаю, что этот факт нельзя умалчивать от пользователя.
Однако вывод этого окна можно отключить самостоятельно, воспользовшись какой-либо программой типа Disk Doctor, позволяющей редактировать данные файла непосредственно на диске.
Нужно открыть последний 63-й сектор (если считать с 1) файла TRDN076b.B, начинающийся с сигнатуры " TR-DOS Navigator V0.76b ", и изменить значение байта, находящегося по смещению +46 от начала сектора, с #80 на #00.
Описание байтов настроечного сектора можно будет найти в комплекте исходников в первом сообщении темы.
CityAceE
30.03.2021, 12:37
"Catalogue data is corrupt"
Правильно будет "Catalogue data is corrupted".
Правильно будет "Catalogue data is corrupted".Я эту фразу вертел через гугл-транслятор и так, и сяк. :)
Смысл один, только "corrupted", насколько я понимаю, - прошедшее время.
Но можно и переписать в следующей версии.
Да, смысл один. Можно и corrupted, можно и corrupt.
Из гугл-транслейт:
Definitions of corrupt
adjective
(of a text or a computer database or program) made unreliable by errors or alterations.
a progressively corrupt magnetic record is usable nonetheless
the play can do no harm since its audience is already corrupt
Corrupt это прилагательное (и глагол, в зависимости от контекста). Corrupted это причастие прошлого времени от глагола corrupt. Поэтому обе фразы будут правильными.
Evgeny Muchkin
30.03.2021, 14:51
Catalogue data is corrupt
25 байтов можно освободить, убрав это сообщение :) И над переводом голову ломать не надо.
А точку то чего оставил в окне переименовывания диска?
Правильно будет "Catalogue data is corrupted".
Если начать придираться, то правильно и кратко (что тоже важно в условиях жесткой экономии памяти) будет Corrupted catalogue. :))
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot