Используется BDOS который цельнотянутый на всех CP/M Ориона, откуда его утянули - сие тайна великая есть, но живет оно вот в таком вот виде с одна тысяча девятьсот мохнатого года. И код там для 8080, тремя страницами ранее есть исходники, тоже не моего производства (архив с двумя файлами - в мнемониках 8080 и Z80) - я их взял иллюстрировать свои мысли как наиболее хорошо комментированные исходники, т.к. те фрагменты что я правил, с этим исходником совпадали (за другое не поручусь) - тремя страницами треда ранее. А то что ты смотришь сейчас, это то что я как перспективное указал (а не то что использую), читай внимательнее. Оно в коде для Z80 (глянул в код в спойлере, а там индексные операции, лол).
Последний раз редактировалось Error404; 31.07.2016 в 13:29.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Потестировал чтение/запись под PRODOS, нет вроде никаких проблем с файлами больше 512Кб. Дайте уже то, что у вас не работает!
Ну, наверное вот это быстрее всего можно взять (там в первой партиции CP/M):
https://drive.google.com/file/d/0B3S...ew?usp=sharing
Остальное я уже покоцал своими правками.
- - - Добавлено - - -
Ну тут я никак не могу подтвердить или опровергнуть, я ее пока не юзал. Вроде Ivagor как раз на ПроДосе файлы делил т.к. оно большими не работало?
- - - Добавлено - - -
Или вот еще дисководный вариант
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Может я чё неправильно делаю, но вот три теста:
1. test пишет файл размером 544Кб, каждая запись заполнена собственно номером записи
2. читает произвольным доступом две записи на границе 512Кб
3. читает последовательно 544Кб
Выполнять лучше под отладчиком, чтобы контролировать результат, т.к. тесты очень простые и ничего на экран не выдают.
Всё работает, как и задумывалось. Где ошибка?
test512.rar
Не знаю где ошибка, посмотрю завтра на работе, дома нет годной инфраструктуры.![]()
Я последовательную запись не проверял. Я проверял на произвольной записи, утилитой DED, где оно обламывалось на границе 512кб.
А можешь записать в файл 3мб и скинуть сюда образ с этим файлом?
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Вот твой образ, игрушки потёр, записал 3.МВ: altair3mbfile.rar
Попробовал test и test3 в продос - все ок. Кажется я догадываюсь, почему у меня на 512 Кб стопорилось, завтра проверю, может даже утром успею.
Забавно, что odiwcx (какая-то старая версия, здесь я новую не ставил) видит в 512.KB только 512КБ. А просмотрщиком видна и остальная часть файла.
Плюс, я поправил еще одну ошибку в ODI.WCX, по файлу от b2m - файлы размером более 512кб у меня паковались не ограничивая поле экстент (EX, FCB+12) по модулю 32 с переносом в S2, а инкрементировался EX вплоть до 255 (видимо, из соображений простой человеческой логики).
Ivagor, перепакуй пожалуйста большие файлы в используемом образе дисков новой версией плагина (перед запуском TC/DC надо удалить все старые - odi.wcx, odi.wcx0, odi.wcx1, odi.wcx2, odi.wcx3)
- - - Добавлено - - -
Однако ж запись (и чтение) с прямым позиционированием через ф.21h/22h (утилитой DED) все одно обламывается на 512кб. А оно там просто делает, через инкремент номера записи в FCB+34+35 и обращения через фф произвольного доступа (а он должен бы работать, там тупо инкремент 16-битного числа, битики сами складывася как надо, а уж система потом внутри себя маскми раскидывает в EX и S2). Тоже понять бы где собака порылась.
- - - Добавлено - - -
да, образ использовать такой, где система БЕЗ моих ручных патчей на увеличение разрядности EX
Последний раз редактировалось Error404; 14.09.2016 в 20:14.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Вот это помогло! Теперь файлы >512 Кб записанные в образ плагином читаются нормально (пробовал по 14h и моя "догадка" оказалась ни при чем). Правда пробовал не в про, а в векторе (comanовский cp/m 59), но я думаю это не принципиально.
Теперь бы еще с подряд записанными большими файлами на hdd разобраться.
- - - Добавлено - - -
Вот образ для примера. Там в user 4 несколько больших файлов (плеер в эмуляторе не работает). Начиная с bach44.wav дурит.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)