Author |
Message |
Sayman
Maniac
Joined: 05 Oct 2009 19:44 Posts: 223 Location: 212.164.105.5
|
вроде уже ни кому ничего не нужно, но я всё-ровно чутка побаяню: обновление 1.62.19. грохнул старые процедуры получения номера сектора из кластера и 32бит деление. заменил на битовые сдвиги. Чтение и запись ускорены примерно в 1.5 - 2 раза. Думаю, можно ещё ускорить, но это уже сложнее. По старым тестам с файлом 1.4мегабайта, копирование с одного раздела на другой было 21 секунда. Теперь файл размером 1.7мегабайта копируется за 12 секунд. собственно обнова во вложении... старый system.dos заменить файлом из архива (копирование с заменой). ... вложение удалено из-за ошибки при записи файла (создавался файл нулевой длинны).
Last edited by Sayman on 07 Jul 2015 22:14, edited 2 times in total.
|
06 Jul 2015 01:21 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22769 Location: Silicon Valley
|
спасибо - поглядим
|
06 Jul 2015 20:57 |
|
|
Sayman
Maniac
Joined: 05 Oct 2009 19:44 Posts: 223 Location: 212.164.105.5
|
да я там уже косяк нашёл. поторопился малость. при копировании иногда файл 0й длинны получается. исправлю и выложу по новой.
|
07 Jul 2015 19:59 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22769 Location: Silicon Valley
|
|
07 Jul 2015 21:25 |
|
|
Sayman
Maniac
Joined: 05 Oct 2009 19:44 Posts: 223 Location: 212.164.105.5
|
Собственно исправленная версия 1.62.20 во вложении. кратко об изменениях: * исправил процедуру пересчёта кластера в сектор (тупая ошибка была, пара строк не докрутил). - убрал функции 0c и 0d связанные с включением и выключением fast-ram. Соответственно, из комплекта уходят две утилиты - ecache.exe и dcache.exe. кто обновляется до текущей версии, удалите у себя эти две утилиты. Убрал эти две функци и утилиты потому, что по тестам нет почти никакой разницы между дровами в fast-ram и в биосе. судя по исходнику на ahdl, винт работает на максимуме. Была идея, добавить в плис работу акселя с портами винта, и даже есть исходник такой, где через процедуру заполнения акселем делается чтение с винта, но при сборке ядра именно этот исходник не собирается (не участвует в сборке). зараза. а было бы крута двумя командами зачитать сектор с винта... ну а поскольку особой разницы нет (доли секунды), то и надобность в этих двух функциях и утилитах отпадает. заодно высвободил не мало места под другие нужды. в дальнейшем процедуры чтения и записи будут ещё оптимизированы (например, идея кэширования линейных секторов для быстрого их чтения или записи, минуя лишние пересчёты кластера в сектор, так же идея расширить кэш кластеров с 8кб до 16кб, а в последующем выделение в батник параметра для резервирования памяти для кэша кластеров и т.д.).
|
07 Jul 2015 22:24 |
|
|
Sayman
Maniac
Joined: 05 Oct 2009 19:44 Posts: 223 Location: 212.164.105.5
|
вот ещё кидаю обновление, более массовое, устраняющее жёсткие косяки - 1.62.22. * исправил ошибку при которой дос всегда выбирал в качестве hdd только устройство master. Соответственно при попытке начать работу с двумя дисками, данные второго просто не подгружались (всегда было обращение к первому физическому диску). * исправил косяк в обработчике мыши - не корректно сохранялся порт одного из окон процессора. В результате видимый косяк проявлялся в виде полосы на экране (fformat.exe). * nsector, divcs, open_dsk, rd_pbp - исправления для восстановления работоспособности дисководов. Так же мелкие правки относительно оригинальных версий. change.log пересохранил в кодировке dos для возможности чтения из Флекса на Спринтере. Выражается благодарность palsw за альфа тесты и прочую помощь!
|
10 Jul 2015 02:45 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22769 Location: Silicon Valley
|
надо мне чтоли тоже достать спринтер из под подоконника да пыль сдуть...
P.S. не натыкался на причину косяка когда списки файлов на винте превращаются в нечитабельное месиво?...
|
10 Jul 2015 15:07 |
|
|
palsw
Novelist
Joined: 16 Dec 2014 13:52 Posts: 45 Location: Украина-Измаил
|
на реале такого не было что бы крякозяблы - hdd очень надежно работает в отличии от глючного флоппика. Разбей винт утилитой fdisk под dss или акрониксом fat16 по 2гб разделы. Главное первый раздел должен начинаться с 63
|
11 Jul 2015 01:45 |
|
|
Sayman
Maniac
Joined: 05 Oct 2009 19:44 Posts: 223 Location: 212.164.105.5
|
можно пойти с другого конца. возьми нормальный винт, ну там гигов на 10/20/40. акронисом в винде разбей на разделы. максимальный раздел для фат16 2047мб (кластер 64 сектора, т.е. 32кб). чтобы потом сильно не парица, первый раздел мегабайт на 200 - 500 создай и второй раздел на 2 гига. форматни на пц, подрубай потом к Спринтеру. возьми дискету системную, обнови на ней дос (до 1.62.22). загружайся с дискеты, если у тебя дисковод работает. если с флопом проблема, то могу скинуть бутсектор в виде дампа, его нужно будет на винт на сектора 1 и 2 записать, например, через winhex. Если дискета работает на спринтере, то загрузившись попробуй сделать запись небольшого текстового файла на винт, прям в корень. потом проверь чтение - если содержимое с мусором, то можно будет потом от этого исходить. что не так в железе. последняя дос всё пишет и читает корректно на 100%. Если будет мусор, то это уже косяк или где то в железе или в биосе (например, криво зашито или старая версия какая-нить). Сдувай пыль и проверяй. Если будет мусор в файле/фате после записи на винт, файл котором проверял + дамп 0го сектора+дамп раздела+образ дискеты выкладывай, посмотрим что там такое поменялось при записи...
|
11 Jul 2015 03:39 |
|
|
Sayman
Maniac
Joined: 05 Oct 2009 19:44 Posts: 223 Location: 212.164.105.5
|
не совсем обновление и не совсем доса, но, для редких обладателей редкого Спринтера - консольная утилита для разворачивания trd образов на реальную дискету. ТАк уж сложилось, что авторы местного tr-dos так и не сделали перехват #3d2f. Поэтому, много разного софта использующие разные турболоадеры не могут работать с винта. Сам столкнулся с этим гемором. Решил, что надо положить этому конец и накидал на скорую руку консолькую утилитку для записи образа trd на дискету. Утилита пока проста - работает один ключ w для записи на дискету, а развернуть пока можно только trd и причём только полный, т.е. 655360 байт. Если образ будет больше или меньше, то поведение программы не известно (не проверил этот момент). Так же не следует подсовывать scl образы. Дискета должна быть заранее отформатирована в tr-dos формат. Сделать это можно утилитой fformat.exe от Василия (где-то ранее она уже пролетала). Использование простое: trdrwe -w filename.trd, где -w = ключ для записи образа на дсикету, filename.trd имя образа (включая путь или без него). У меня настроенно так, что на диске С есть папка bin, там лежат разные утилиты. при запуске доса в батнике есть строка типа set PATH=C:\;C:\FN\;C:\BIN\;C:\ZX\;. В любом каталоге можно находится и вызывать утилиты лежащие в папках по path.
|
01 Apr 2016 01:51 |
|
|
Sayman
Maniac
Joined: 05 Oct 2009 19:44 Posts: 223 Location: 212.164.105.5
|
во вложении два архива. dos16263.zip * исправлена ошибка в драйвере мыши - могли быть зависания, если мышь/конвертор посылали данные с потерями. * исправлена функция func_5b (Вывод символа на экран в тек. позиции.). была ошибка при печати в последней строке, приводящая к выводу символов с нулевой координаты, вместо скроллинга экрана. * исходники перевёл под sjasmplus. * исправил старую (свою) ошибку в драйвере fdd (функция fdd_init)
dos_km.zip (1.62.78) * заменил драйвер ms-mouse на драйвер kempston mouse (экспериментально!)
по кемпстон мышке - заменена только та часть драйвера, в которой происходит обновление переменных чтением портов мышки. остальная часть драйвера без изменений.
|
26 Oct 2020 06:33 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22769 Location: Silicon Valley
|
В архиве от ИванМака есть исходники нескольких версий DSS: А последняя (в корневом каталоге) названа 1.70 от 23 апреля 2003 года - кто-то её пробовал собирать и работать с ней?
|
02 Dec 2020 18:50 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22769 Location: Silicon Valley
|
Загнал все официальные версии DSS на гитлаб - вплоть до v1.70: https://gitlab.com/sprinter-computer/dosСписок известных ошибок по состоянию на 1.60: Всё ли из этого исправлено в альтернативной DSS v1.62.x? P.S. Вот отличия незаконченной версии 1.70 от релизной 1.60: https://gitlab.com/sprinter-computer/dos/-/commit/0f7350186a6002d1774b20f516e1d7bdc5ab95b1Список всех изменений выдернутых из каждого ASM-файла: плюс DSS_MAP.TXT был сильно перелопачен и сбока вместо одного бинаря стала собирать 2 - dos-main.bin и dvr-main.bin, которые потом склеивются вместе для получения system.dss P.P.S. После последней сборки 1.70 было сделано ещё одно изменение в EXECUTE.ASM: были убраны строчки с ;;; которые судя по всему были миганием бордюра для отладки (я все промежуточные версии проверил пересборкой в досбоксе и в каждый коммит вставлял MD5 получившегося бинаря, но не сам бинарь - оно 100% совпадало с тем что было в архиве)
|
03 Dec 2020 00:52 |
|
|
Sayman
Maniac
Joined: 05 Oct 2009 19:44 Posts: 223 Location: 212.164.105.5
|
да. и старый загрузчик от 1.6х теперь не может эту версию загружать. ей новый нужен. драйвера там перемещены в отдельную страницу. P.S. О! нашёл исходник для нового загрузчика, в архиве Паринова.
Last edited by Sayman on 03 Dec 2020 01:20, edited 1 time in total.
|
03 Dec 2020 01:17 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22769 Location: Silicon Valley
|
ну может какие изменения можно в вашу версию перетащить? например запоминание текущего каталога и диска при открытии файла, чтобы потом при закрытии их вернуть (если я правильно понял логику)
|
03 Dec 2020 01:20 |
|
|