User Tag List

Страница 18 из 42 ПерваяПервая ... 141516171819202122 ... ПоследняяПоследняя
Показано с 171 по 180 из 472

Тема: Орион-ПРО. Софтверные дела

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,927
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    я так понял ты считаешь что ошибки в BDOS нет
    А ты считаешь, что за 30 лет никто так и не заметил ошибку?

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    А ты считаешь, что за 30 лет никто так и не заметил ошибку?
    Не только заметили, но и переписали BDOS, т.к. {цитирую по памяти} "проще было переписать".
    Есть у меня архив переписанной 2.2, причем уже в коде Z80, меньшего размера (что дало автору впихнуть в сстандартный объем еще и код для поддержки дат файлов, каталога по умолчанию и т.п.), и одно из упоминавшихся в описалове - он писал что исправил ошибки в файловом доступе в стандартной 2.2, что дало увеличение максимального размера - как ФС так и файлов (до математического предела, а не до бага). Конечно, все это надо проверять, т.к. делано это опять же еще до эпохи дешевых "народных" HDD.

    - - - Добавлено - - -

    Если память не подводит, вроде вот это оно:
    http://www.gaby.de/ftp/pub/cpm/znode...ssrc/zsdos.htm
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  4. #3

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,927
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Не только заметили, но и переписали BDOS, т.к. {цитирую по памяти} "проще было переписать".
    Ну, господа, если вы используете что-то своё, а не CP/M 2.2, то конечно, оно у вас может и не работать

    Я вот не поленился, набил программу, которая записывает 1100h записей (544Кб) последовательно, а потом читает записи с номерами 0FFFh и 1000h. Тестировал на Корвете (там CP/M байт в байт как на Башкирии, но у Башкирии один логический диск всего 384Кб). Так вот считалось именно то, что я и записывал (а именно - 16-битный номер записи).

    И в каталоге именно так, как и должно быть - номера экстентов: ... 00.1E 00.1F 01.00 01.01 ...

  5. #4

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Ну, господа, если вы используете что-то своё, а не CP/M 2.2, то конечно, оно у вас может и не работать
    Используется BDOS который цельнотянутый на всех CP/M Ориона, откуда его утянули - сие тайна великая есть, но живет оно вот в таком вот виде с одна тысяча девятьсот мохнатого года. И код там для 8080, тремя страницами ранее есть исходники, тоже не моего производства (архив с двумя файлами - в мнемониках 8080 и Z80) - я их взял иллюстрировать свои мысли как наиболее хорошо комментированные исходники, т.к. те фрагменты что я правил, с этим исходником совпадали (за другое не поручусь) - тремя страницами треда ранее. А то что ты смотришь сейчас, это то что я как перспективное указал (а не то что использую), читай внимательнее. Оно в коде для Z80 (глянул в код в спойлере, а там индексные операции, лол).
    Последний раз редактировалось Error404; 31.07.2016 в 13:29.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  6. #5

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,927
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А теперь посмотрим на исходники, на которые дал ссылку Error404. Интересует, как они конвертируют номер записи:

    Скрытый текст

    Код:
    LDFCB:	LD	(RDWR),A	; Save Read/Write flag
    	LD	A,(IX+33)	; Get first byte random record
    	LD	D,A		; Save it in D
    	RES	7,D		; Reset MSB to get next record
    	RLA			; Shift MSB in carry
    	LD	A,(IX+34)	; Load next byte random record
    	RLA			; Shift Carry
    	PUSH	AF		; Save it
    	AND	MAXEXT		; Mask next extent
    	LD	C,A		; Save it in C
    	POP	AF		; Get byte
    	RLA			; Shift 4 times
    	RLA
    	RLA
    	RLA
    	AND	0FH		; Mask it
    	LD	B,A		; Save data module number
    	LD	A,(IX+35)	; Get next byte random record
    	LD	E,6		; Set random record to large flag
    	CP	4		; Test random record to large
    	JR	NC,LDFCB8	; Yes then error
    	RLCA			; Shift 4 times
    	RLCA
    	RLCA
    	RLCA
    	ADD	A,B		; Add byte
    	LD	B,A		; Save data module number in B
    	LD	(IX+NXTREC),D	; Set next record count
    	LD	D,(IX+FCBMOD)	; Get data module number
    	BIT	6,D		; Test error random record
    	JR	NZ,LDFCB0	; Yes then jump
    	LD	A,C		; Get new extent number
    	CP	(IX+FCBEXT)	; Compare with FCB
    	JR	NZ,LDFCB0	; Not equal then open next extent
    	LD	A,B		; Get new data module number
    	XOR	(IX+FCBMOD)	; Compare with data module number
    	AND	MAXMOD		; Mask it
    	JR	Z,LDFCB6	; Equal then return
    LDFCB0:	BIT	7,D		; Test FCB modified (write)
    [свернуть]

    Обратите внимание на выделенные красным цветом строчки. Правильно ли запомнились в стеке 4 бита расширенного номера экстента? Или может быть нужно было только 3 раза потом сдвиг делать?

  7. #6

    Регистрация
    13.03.2016
    Адрес
    г. Владивосток
    Сообщений
    89
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Моть вообще CPM 3 запилить, где то помню попадались исходники. Поддержка страничной памяти, TPA 60 Килобайт. Ещё чего то не помню. )
    Альтаирка неплоха ,конечно, но охота ,чего то охота. А чего еще не понял.

  8. #7
    HardWareMan
    Гость

    По умолчанию

    Все зависит от того, сколько бит в екстенте. Если вот это верно:
    Код:
    ;   For random i/o, set the fcb for the desired record number
    ; based on the 'r0,r1,r2' bytes. These bytes in the fcb are
    ; used as follows:
    ;
    ;       fcb+35            fcb+34            fcb+33
    ;  |     'r-2'      |      'r-1'      |      'r-0'     |
    ;  |7             0 | 7             0 | 7             0|
    ;  |0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0|
    ;  |    overflow   | | extra |  extent   |   record #  |
    ;  | ______________| |_extent|__number___|_____________|
    ;                     also 's2'
    то сдвигов должно быть всего 4 а не 5. И тогда, либо первый RLA должен быть после PUSH AF (т.е. два байта поменять местами) либо один RLA после POP AF убрать. Возможно это ошибка разрабов и изначально все должно было быть по первому варианту. А оошибку сразу не выявили потому что не было столько объемов. Или я не прав?

    PS Я вот думаю, может натянуть какую досю на мой МХ2?

    - - - Добавлено - - -

    Стоп, а сдвиг то влево а не вправо. Причем через С. Так что 5 это нормально.
    Последний раз редактировалось HardWareMan; 31.07.2016 в 12:28.

  9. #8

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,927
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Стоп, а сдвиг то влево а не вправо. Причем через С. Так что 5 это нормально.
    А действительно. Долбанные Z80-мнемоники

    - - - Добавлено - - -

    Короче, надо в отладчике смотреть. В теории вроде всё верно. Жду образ.

  10. #9

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,927
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Потестировал чтение/запись под PRODOS, нет вроде никаких проблем с файлами больше 512Кб. Дайте уже то, что у вас не работает!

  11. #10

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Потестировал чтение/запись под PRODOS, нет вроде никаких проблем с файлами больше 512Кб. Дайте уже то, что у вас не работает!
    Ну, наверное вот это быстрее всего можно взять (там в первой партиции CP/M):
    https://drive.google.com/file/d/0B3S...ew?usp=sharing

    Остальное я уже покоцал своими правками.

    - - - Добавлено - - -

    Цитата Сообщение от b2m Посмотреть сообщение
    Потестировал чтение/запись под PRODOS, нет вроде никаких проблем с файлами больше 512Кб. Дайте уже то, что у вас не работает!
    Ну тут я никак не могу подтвердить или опровергнуть, я ее пока не юзал. Вроде Ivagor как раз на ПроДосе файлы делил т.к. оно большими не работало?

    - - - Добавлено - - -

    Или вот еще дисководный вариант
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

Страница 18 из 42 ПерваяПервая ... 141516171819202122 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Дела паяльные.
    от Sayman в разделе Для начинающих
    Ответов: 24
    Последнее: 09.10.2009, 20:14
  2. валаются без дела разобранные спектрумы
    от Damein Alpha в разделе Барахолка (архив)
    Ответов: 17
    Последнее: 17.09.2009, 10:15
  3. Дела мышиные...
    от Producer в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 22.01.2005, 02:59

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •