ниасилил калькулятор? :v2_lol:
845325 / 3500000 = 0,24152142857142857142857142857143
вот блин нашел где это описывается
и там речь про блоки в 8К!
теперь придется везде переписывать все свои загрузчики...
Цитата:
На входе в подпрограмму #3Е44
(TR-DOS) в регистре B должна со-
держаться константа позициониро-
вания (от #08 до #0B); с ней де-
лают OR #18 и кладут результат в
регистр команд контроллера (зна-
чения #18-#1B соответствуют ко-
манде ПОИСК без проверки адрес-
ных маркеров на дорожке). При
вызове #3Е44 из #3ЕB5 регистр B
никак не определен, и он может
содержать, например, число сек-
торов при вызове #3D13 с C=5 или
C=6. Если же число секторов
больше #20 , то в регистр команд
будет направлен не код команды
ПОИСК, а что-то иное.
Цитата:
Простая проверка показывает,
что все происходит именно таким
образом. Вызывая #3D13 с BC=
#4005 несколько раз подряд (DE
считаем неизмененным), можно
наблюдать перемещение головок
дисковода на один шаг к центру
диска перед позиционированием на
начало читаемого блока, а при
вызовах с BC=#6005 наблюдается
один шаг в обратном направлении.
Если учесть, что #40 OR #18 =
#58 - код команды шаг вперед, а
#60 OR #18 - код команды шаг на-
зад, то никаких сомнений быть не
может - это ошибка TR-DOS!
при загрузке больших блоков через #3d13 происходит сбой при позиционировании (хорошо видно на реальном дисководе),
но ошибок при чтении в этом случае не возникает.
поэтому все продвинутые пользователи и начали использовать свой загрузчик.
незнаю. я таких компов не встречал, да и многие фирменные игрушки берут вектор из #xxFF в ПЗУ.
так зачем лишний раз вызывать ошибку позиционирования?
которая в некоторых источниках описывается как скрежет и удары (наверно речь про то когда происходит переполнение счетчика номера дорожки)
когда это можно легко обойти читая блоками по $20 секторов
- - - Добавлено - - -
который работает только с реальным дисководом? :v2_lol:
- - - Добавлено - - -
от чего, как известно, они не везде потом работают...
так это проблема кривых клонов/эмуляторов, нравиться тебе лизать всем - на здоровье.
просто некоторые "кодеры" так и не поняли как работать с устройствами и предлагают 11 интов ещё дополнительно подождать, когда девайс уже ответил. теперь в трдос загрузчики полез, которые и так все знают как писать и делали это ещё до того. как отдельные "очень умные люди" начали предлагать свои загрузчики.
я даже удивлён, что не предлагаешь на ВГ93 подождать ещё 100500 интов, ведь ВНЕЗАПНО ВГ93 работает на 1мгц. надо подождать, безобразие то какое, проц работает быстрее дисковода)))
все знают
а готового примера куда подставил свой код и скомпилировал в один клик нигде нет
пушо все и так знают :v2_dizzy_facepalm:
а потом все время кто то релизит что то в sna...
пушо все же знают...
я уже раза 3 скачал с этой темы
тк проще чем найти эту же заготовку у себя
потому, что
- - - Добавлено - - -
ну это исключительно твои проблемы, что у тебя на дисках бардак и ты не можешь себе библиотеку нормальную запилить. гудбой вон не парится, у него всё есть. я не парюсь. у меня всё что надо есть. слайдер вообще не напрягается, ещё ему скажи как надо загрузчики делать...
ну да некоторые на столько понели как нужно работать с устройством
что начинают слать данные в него когда еще устройство в процессе перезагрузки и проверяет количество страниц памяти
кусок сорца с ресетом яте закидывал...
- - - Добавлено - - -
ну до весь форум состоит из гудбоя саймана и слайдера
больше никого на нем нет...
и куда не плюнь спроси любую бабку на остановке все знают как грузить :v2_lol:
кстате читай глазами первый пост
речь про ГОТОВЫЙ КОД ДЛЯ SJASM
КОТОРЫЙ КОМПИЛИРУЕТСЯ ИЗ КОРОБКИ
у тебя есть готовый код под sjasm лучше?
ложи его молча сюда а не рассказывай тут как "я гружу как попало и у меня все работает а ты грузишь как то не так"
Neo, заострив внимание на ошибку в работе trdos с большими блоками ты ещё раз доказал свою тупость и отсутствие реала.
иначе бы знал в какой версии есть эта ошибка (и 90% дискетных версий там вообще не работает)
ну дО
все у кого есть реал перепробывали 100500 версий трдоса
ведь у каждого конечно есть программатор...
и в какой это версии?
и как с этим бороться?
10% же как то работают :)
а так почемму эти знатели вся не понапишут всего что знаю все
в какую нибудь педивикию
а то там достаточно многословны
и больше чем "в трдос есть ошибки" никто не пишет...
...или пишут типа "одна баба сказала что трдос что то там не так делает при чтении"
можно же собрать описание всех ошибок КОТОРЫЕ ЗНАЮТ ВСЕ
в одном месте
или все всё не знаю а только звездят?
- - - Добавлено - - -
процетирую еще предыдущего оратора
которого, в отличии от ТЕБЯ, прет в другие крайности
- - - Добавлено - - -
и еще раз напомню про *****й вектор прерываний
который непонятно у кого не стабильный
и для кого все должны зачем то делать 257 байтную таблицу
когда можно было бы сказать да это кривые клоны и ихние проблемы...
решать все эти проблемы (trdos/im2) надо при конкретной встрече с неработоспособностью,
а не с мифическими рассуждениями в надежде что у кого-то не заработает.
Это о чем?
А вообще, знатно в теме насрали да ;)
- - - Добавлено - - -
Расскажите лучше, как создавать патчи, например, для ПЗУ ромов наших. Т.е. чтобы скомпилился, допустим, патчик(и) и впихнулся в нужное место бинарника.
Буду очень признателен. :)
Например: нужно в tr-dos.rom по адресу #3ff0 добавить out (c),a: ret: in a,(c): ret
Такое сабж сумеет?
goodboy, да, но это я просто ради примера.
запускаешь STS в эмуле который умеет загружать/сохранять блоки памяти.
грузишь свой файл (допустим с #8000) правишь/сохраняешь. в чём проблема - мне непонятно.
тогда это скорее к железячникам вопрос, на divIDE/MMC пользователь может сам (со спека) менять прошивку
Да, вопрос в автоматизации.
Набросал кучу патчей, скомпилил, внедрил их в ром, запустил эмуль смотреть, что получилось.
И чтобы вся эта компиляция и запихиваниее в ромы автоматически происходила нажатием одной кнопки.
Не руками же все пересобирать при обнаружении ошибки, коих, как обычно, много. :)
конечно удивительно, что никто за столько времени не сделал дизасм или не запросил у зонова исходники скорпорома. сейчас этьо будет всё ооочень геморно.
я только вспоминаю что в unreal ProfRom чуток исправленный.
оригинал не работает (эмуль валит какие-то проверки)
В смысле, что-то типа такого?
- - - Добавлено - - -Код:; rom_patched.asm
DEVICE ZXSPECTRUM48
org $0000
incbin "rom48.bin"
org $1234
.... ; patcher_1
org $3456
.... ; patcher_2
SAVEBIN "rom_patched.bin",$0000,$4000
Мне тоже очень интересно прочесть. Сейчас пока только на какие-то малоподтверждённые огрызки потихоньку натыкаюсь.
Bedazzle, спасибо, еще не попробовал, но похоже, что это то, о чем я спрашивал.