nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 02:28



Reply to topic  [ 77 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
Обновление DSS 
Author Message
Maniac

Joined: 05 Oct 2009 19:44
Posts: 223
Location: 212.164.105.5
Reply with quote
вроде уже ни кому ничего не нужно, но я всё-ровно чутка побаяню: обновление 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
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
спасибо - поглядим

_________________
:dj: https://mastodon.social/@Shaos


06 Jul 2015 20:57
Profile WWW
Maniac

Joined: 05 Oct 2009 19:44
Posts: 223
Location: 212.164.105.5
Reply with quote
Shaos wrote:
спасибо - поглядим

да я там уже косяк нашёл. поторопился малость. при копировании иногда файл 0й длинны получается. исправлю и выложу по новой.


07 Jul 2015 19:59
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Sayman wrote:
Shaos wrote:
спасибо - поглядим

да я там уже косяк нашёл. поторопился малость. при копировании иногда файл 0й длинны получается. исправлю и выложу по новой.


ок - не гляжу, жду...

_________________
:dj: https://mastodon.social/@Shaos


07 Jul 2015 21:25
Profile WWW
Maniac

Joined: 05 Oct 2009 19:44
Posts: 223
Location: 212.164.105.5
Reply with quote
Собственно исправленная версия 1.62.20 во вложении. кратко об изменениях:
* исправил процедуру пересчёта кластера в сектор (тупая ошибка была, пара строк не докрутил).
- убрал функции 0c и 0d связанные с включением и выключением fast-ram. Соответственно, из комплекта уходят две утилиты - ecache.exe и dcache.exe. кто обновляется до текущей версии, удалите у себя эти две утилиты.
Убрал эти две функци и утилиты потому, что по тестам нет почти никакой разницы между дровами в fast-ram и в биосе. судя по исходнику на ahdl, винт работает на максимуме. Была идея, добавить в плис работу акселя с портами винта, и даже есть исходник такой, где через процедуру заполнения акселем делается чтение с винта, но при сборке ядра именно этот исходник не собирается (не участвует в сборке). зараза. а было бы крута двумя командами зачитать сектор с винта...
ну а поскольку особой разницы нет (доли секунды), то и надобность в этих двух функциях и утилитах отпадает. заодно высвободил не мало места под другие нужды. в дальнейшем процедуры чтения и записи будут ещё оптимизированы (например, идея кэширования линейных секторов для быстрого их чтения или записи, минуя лишние пересчёты кластера в сектор, так же идея расширить кэш кластеров с 8кб до 16кб, а в последующем выделение в батник параметра для резервирования памяти для кэша кластеров и т.д.).


Attachments:
dss_1_62_20.zip [10.55 KiB]
Downloaded 450 times
07 Jul 2015 22:24
Profile
Maniac

Joined: 05 Oct 2009 19:44
Posts: 223
Location: 212.164.105.5
Reply with quote
вот ещё кидаю обновление, более массовое, устраняющее жёсткие косяки - 1.62.22.
* исправил ошибку при которой дос всегда выбирал в качестве hdd только устройство master. Соответственно при попытке начать работу с двумя дисками, данные второго просто не подгружались (всегда было обращение к первому физическому диску).
* исправил косяк в обработчике мыши - не корректно сохранялся порт одного из окон процессора. В результате видимый косяк проявлялся в виде полосы на экране (fformat.exe).
* nsector, divcs, open_dsk, rd_pbp - исправления для восстановления работоспособности дисководов. Так же мелкие правки относительно оригинальных версий.
change.log пересохранил в кодировке dos для возможности чтения из Флекса на Спринтере.
Выражается благодарность palsw за альфа тесты и прочую помощь!


Attachments:
dss_1_62_22.zip [10.73 KiB]
Downloaded 440 times
10 Jul 2015 02:45
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
надо мне чтоли тоже достать спринтер из под подоконника да пыль сдуть...

P.S. не натыкался на причину косяка когда списки файлов на винте превращаются в нечитабельное месиво?...

_________________
:dj: https://mastodon.social/@Shaos


10 Jul 2015 15:07
Profile WWW
Novelist

Joined: 16 Dec 2014 13:52
Posts: 45
Location: Украина-Измаил
Reply with quote
на реале такого не было что бы крякозяблы - hdd очень надежно работает в отличии от глючного флоппика.
Разбей винт утилитой fdisk под dss или акрониксом fat16 по 2гб разделы. Главное первый раздел должен начинаться с 63


11 Jul 2015 01:45
Profile
Maniac

Joined: 05 Oct 2009 19:44
Posts: 223
Location: 212.164.105.5
Reply with quote
Shaos wrote:
надо мне чтоли тоже достать спринтер из под подоконника да пыль сдуть...

P.S. не натыкался на причину косяка когда списки файлов на винте превращаются в нечитабельное месиво?...

можно пойти с другого конца. возьми нормальный винт, ну там гигов на 10/20/40. акронисом в винде разбей на разделы. максимальный раздел для фат16 2047мб (кластер 64 сектора, т.е. 32кб). чтобы потом сильно не парица, первый раздел мегабайт на 200 - 500 создай и второй раздел на 2 гига. форматни на пц, подрубай потом к Спринтеру. возьми дискету системную, обнови на ней дос (до 1.62.22). загружайся с дискеты, если у тебя дисковод работает. если с флопом проблема, то могу скинуть бутсектор в виде дампа, его нужно будет на винт на сектора 1 и 2 записать, например, через winhex. Если дискета работает на спринтере, то загрузившись попробуй сделать запись небольшого текстового файла на винт, прям в корень. потом проверь чтение - если содержимое с мусором, то можно будет потом от этого исходить. что не так в железе. последняя дос всё пишет и читает корректно на 100%. Если будет мусор, то это уже косяк или где то в железе или в биосе (например, криво зашито или старая версия какая-нить).
Сдувай пыль и проверяй. Если будет мусор в файле/фате после записи на винт, файл котором проверял + дамп 0го сектора+дамп раздела+образ дискеты выкладывай, посмотрим что там такое поменялось при записи...


11 Jul 2015 03:39
Profile
Maniac

Joined: 05 Oct 2009 19:44
Posts: 223
Location: 212.164.105.5
Reply with quote
не совсем обновление и не совсем доса, но, для редких обладателей редкого Спринтера - консольная утилита для разворачивания 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.


Attachments:
trdrwe.zip [1.87 KiB]
Downloaded 430 times
01 Apr 2016 01:51
Profile
Maniac

Joined: 05 Oct 2009 19:44
Posts: 223
Location: 212.164.105.5
Reply with quote
во вложении два архива.
dos16263.zip
* исправлена ошибка в драйвере мыши - могли быть зависания, если мышь/конвертор
посылали данные с потерями.
* исправлена функция func_5b (Вывод символа на экран в тек. позиции.). была
ошибка при печати в последней строке, приводящая к выводу символов с нулевой
координаты, вместо скроллинга экрана.
* исходники перевёл под sjasmplus.
* исправил старую (свою) ошибку в драйвере fdd (функция fdd_init)

dos_km.zip (1.62.78)
* заменил драйвер ms-mouse на драйвер kempston mouse (экспериментально!)

по кемпстон мышке - заменена только та часть драйвера, в которой происходит обновление переменных чтением портов мышки. остальная часть драйвера без изменений.


Attachments:
dos_km.zip [11.5 KiB]
Downloaded 297 times
dos16263.zip [11.51 KiB]
Downloaded 282 times
26 Oct 2020 06:33
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
В архиве от ИванМака есть исходники нескольких версий DSS:
Code:
20000817.152
20010208.152
20010806.155
20021215.160
20030214.160

А последняя (в корневом каталоге) названа 1.70 от 23 апреля 2003 года - кто-то её пробовал собирать и работать с ней?

_________________
:dj: https://mastodon.social/@Shaos


02 Dec 2020 18:50
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Загнал все официальные версии DSS на гитлаб - вплоть до v1.70:

https://gitlab.com/sprinter-computer/dos

Список известных ошибок по состоянию на 1.60:
Quote:
+ function WINCOPY & WINREST не запрещают прерывания перед вызовом BIOS (используется вывод стеком!).

- при выводе на консоль длинного текста, экран не скролируется. Проверять на достижение 80 позиции!

+ ошибка в функции SCROLL A=0.

+ ошибка при просмотре каталога в функциях установки атрибутов пропускаются системные файлы. п/п SEARCH MASK=#23

- игнорирование ошибок при записи системных областей FAT/DIR, невозможность отработать ошибку write-protect, так как она теряется при попытке записать измененный каталог на диск. Но возникает ошибка file not found так как сразо после создания система открывает файл.

- ошибка разбора допустимого имени файла, если оно состоит из "." так как подрузомевается пробелы точка пробелы.

Всё ли из этого исправлено в альтернативной DSS v1.62.x?

P.S. Вот отличия незаконченной версии 1.70 от релизной 1.60:
https://gitlab.com/sprinter-computer/dos/-/commit/0f7350186a6002d1774b20f516e1d7bdc5ab95b1
Список всех изменений выдернутых из каждого ASM-файла:
Code:
DOS-MAIN.ASM:
;R08   15-04-2003 DNS   RENAMED FN. OPEN AND CLOSE
;R07   31-03-2003 DNS   NEW DEPLOYING ROUTINE
;R06   31-03-2003 DNS   RELAYOUTING MEMORY
;R05   27-03-2003 DNS   CHANGE DRV. INIT. METHOD
;R04   27-03-2003 DNS   DRIVERS MOVE TO SPECIAL PAGE
;R03   14-03-2003 DNS   CODE OPTIMIZATION
DOS5.ASM:
;R08   15-04-2003 DNS   SAVE AND RESTORE CURPATH MACROS
DOS_X.ASM:
;R11   15-04-2003 DNS   ROUTINE FOR STORE CURDISK AND CURDIR
;R10   03-04-2003 DNS   IMPROVED FN. VERSION
;R09   27-03-2003 DNS   PASTED SET/GET BOOT FN.
DVR-MAIN,ASM: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< NEW
;R00   2003-03-19 DNS   Initial version
EXECUTE.ASM:
;R09   14-04-2003 DNS   NOW EXEC DON'T FOLLOW TO PROGRAM'S DIR

плюс DSS_MAP.TXT был сильно перелопачен и сбока вместо одного бинаря стала собирать 2 - dos-main.bin и dvr-main.bin, которые потом склеивются вместе для получения system.dss

P.P.S. После последней сборки 1.70 было сделано ещё одно изменение в EXECUTE.ASM:
Code:
;R09
   LD   A,7     ;;;
   OUT   (#FE),A

   CALL    BACK_CUR_PATH

   LD      A,0
   OUT     (#FE),A ;;;
;R09
были убраны строчки с ;;; которые судя по всему были миганием бордюра для отладки (я все промежуточные версии проверил пересборкой в досбоксе и в каждый коммит вставлял MD5 получившегося бинаря, но не сам бинарь - оно 100% совпадало с тем что было в архиве)

_________________
:dj: https://mastodon.social/@Shaos


03 Dec 2020 00:52
Profile WWW
Maniac

Joined: 05 Oct 2009 19:44
Posts: 223
Location: 212.164.105.5
Reply with quote
Quote:
стала собирать 2 - dos-main.bin и dvr-main.bin, которые потом склеивются вместе для получения system.dss

да. и старый загрузчик от 1.6х теперь не может эту версию загружать. ей новый нужен. драйвера там перемещены в отдельную страницу.

P.S. О! нашёл исходник для нового загрузчика, в архиве Паринова.


Last edited by Sayman on 03 Dec 2020 01:20, edited 1 time in total.



03 Dec 2020 01:17
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Sayman wrote:
Quote:
стала собирать 2 - dos-main.bin и dvr-main.bin, которые потом склеивются вместе для получения system.dss

да. и старый загрузчик от 1.6х теперь не может эту версию загружать. ей новый нужен. драйвера там перемещены в отдельную страницу.

ну может какие изменения можно в вашу версию перетащить? например запоминание текущего каталога и диска при открытии файла, чтобы потом при закрытии их вернуть (если я правильно понял логику)

_________________
:dj: https://mastodon.social/@Shaos


03 Dec 2020 01:20
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 77 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

Who is online

Users browsing this forum: Google [Bot] and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.