What way is used in TRDN for detection of TR-DOS rom version ?
Вид для печати
Не удержался и решил написать, может и сумбурно но мысли вот такие:
Мне кажется, что это одно из решающих достоинств, именно достоинств.
Имею пентагон48 который покупался мной в далеких 90-х, дорог как память и именно в таком виде как он был выпущен с завода. Поэтому ничего не впаивал и улучшайзингом типа 128 и AY не занимался, но достаточно часто достаю его и пользую по прямому назначению. Однако хочется же чего-то удобного и продуманного, чтоб на 48 машине тоже работало (например у меня другой нет и не будет, и явно я такой не один). Скачал и с удовольствием оценил хороший/полезнейший продукт - сам просится на все мои диски.
От души тьхенькаю в первом посте.
Способ определения версии TR-DOS позаимствован мной из книги А.Ларченко и Н.Родионова "ZX Spectrum и TR-DOS для пользователей и программистов". Он простой и, как показало время, надежный (хотя, может, с этим кто-то не согласится :)).Цитата:
Сообщение от VELESOFT
Код:LD HL,19
LD C,L
CALL 15635
LD A,(23779)
CP #BD
JR Z,trdos5_01
CP 7
JR Z,trdos5_03
. . .
Thank. TRDN (code file) will included in package of next ESXDOS version. Author use TRDN as main (default) BOOT file for all users of DIVIDE interface.
Only one problem - drive detection in TRDN is very very slow under tr-dos emulation in ESXDOS. Can author of TRDN help ? We need know any POKE adress with value or any other way for decrease testing loop.
Если я правильно понял, речь идет о замедлении работы при первом обращении к дисководу, когда дискета вставлена и проверяется количество дорожек и скорость позиционирования?Цитата:
Сообщение от VELESOFT
В этой операции нами используются только стандартные вызовы через точку входа 15635 (#3D13) - функции #01 (выбор дисковода) и #18 (настройка на дискету).
В этом случае TR-DOS, после внутренних циклов ожидания индексных импульсов от дисковода, пытается выйти в систему ZX Spectrum с сообщением "R Tape loading error". В TRDN этот момент перехватывается, чтобы вывести окно "Disk absent", и выполняется подпрограмма для снятия выбора с дисковода:Цитата:
Сообщение от VELESOFT
Код:LD HL,12225 ; Адреса в этом примере десятичные и
CALL stpdsk+3 ; только дпя версии TR-DOS 5.03!
LD A,(23830)
XOR 1
CALL stpdsk
LD A,(23830)
stpdsk LD HL,697
PUSH HL
JP 15663
При отсутствии диска в дисководе (или самого дисковода) TR-DOS какое-то время (до нескольких секунд) ждет индексные импульсы, а потом прекращает операцию. Попробуйте в этот момент нажать клавишу Break - операция ожидания должна прерваться.
Grand, опишите структуру драйверов. А то охота написать драйвер для 512*192.
Cat_Alex/QRP, драйверы возможны только для расширенной памяти и часов. Что касается экрана, то в TRDN всё самым жёстким образом привязано к стандартному экрану без какой-либо возможности отвязать.