User Tag List

Страница 7 из 10 ПерваяПервая ... 345678910 ПоследняяПоследняя
Показано с 61 по 70 из 98

Тема: SD карта и SDOS для 8и битных ПК

  1. #61

    Регистрация
    02.01.2007
    Адрес
    Волгоград, Россия
    Сообщений
    1,454
    Спасибо Благодарностей отдано 
    195
    Спасибо Благодарностей получено 
    161
    Поблагодарили
    99 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Serg6845 Посмотреть сообщение
    думаю 8800h вполне будет работать. как минимум для попробовать пойдет. разумеется нужно не забывать что в эти адреса грузить что-то с флешки не рекомендуется
    Почти совпало Я сделал 08900h - на 256 байт ниже переменных Монитора. Подумал, что 256 байт буфера должно хватить.

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

  3. #62

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,215
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,648
    Поблагодарили
    573 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexBel Посмотреть сообщение
    256 байт буфера должно хватить
    А размер сектора разве не 512 байт? Или там буфер не под загрузку сектора используется?
    С уважением, Станислав.

  4. #63

    Регистрация
    02.01.2007
    Адрес
    Волгоград, Россия
    Сообщений
    1,454
    Спасибо Благодарностей отдано 
    195
    Спасибо Благодарностей получено 
    161
    Поблагодарили
    99 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    А размер сектора разве не 512 байт? Или там буфер не под загрузку сектора используется?
    Нет, все секторно-файловые дела берёт на себя CH376. Вот цитата из ридми:

    - требуется гораздо меньше ОЗУ под буферы (36 байт на USB дескриптор и по 64 байта
    на командную строку и путь). детально не копал, но похоже количество вводимых символов
    не проверяется, так что с длинными путями и ком. строкой надо осторожнее.


    Так что 256 байт - это ещё с запасом, если мои подсчёты верны

    Вот полностью из ридми про CH376:

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

    Только с CH376:
    - поддержка полноценной записи файлов, поддержка удаления файлов

    - W ИМЯфайла.РАСШИРЕНИЕфайла,АДРЕСоткуда,СКОЛЬКОбайт - записать в файл
    данные из памяти, начиная с указанного адреса в памяти и сколько байт
    (пример: W TEST.BIN,0ACD,5FE0 - пишет в файл TEST.BIN из памяти начиная
    с адреса 0х0ACD и до адреса 0х0ACD+0х5FE0=0х6AAD).
    Все параметры обязательные. Если файла нет - он будет создан, если есть -
    сообщение FILE EXISTS и выход (ничего не записывется);
    - WO ИМЯфайла.РАСШИРЕНИЕфайла,АДРЕСоткуда,СКОЛЬКОбайт - аналогично W, но
    в случае наличия файла он перезаписывается, длина становится равна СКОЛЬКОбайт;
    - WA ИМЯфайла.РАСШИРЕНИЕфайла,АДРЕСоткуда,СКОЛЬКОбайт - аналогично W, но
    в случае наличия файла данные добавляются в конец файла, длина увеличивается на СКОЛЬКОбайт;
    - DEL ИМЯфайла.РАСШИРЕНИЕфайла - удаление файла. удаление директорий заблокировано,
    потому что контроллер не проверяет наличие файлов внутри директории и удаляет со
    всеми потрохами, причем делает это некорректно;
    - I [LUN] - запуск повторной инициализации устройства. параметр LUN нужен для работы с
    некоторыми картридерами чтобы выбрать нужную карту. теоретически может быть от 0 до F,
    пока максимум что мне попалось - 4. если не указан - то 0. макс. значение выводится
    при инициализации;
    - ? - небольшой встроенный help. можно отключить в defs.inc (жрет место в бинарнике)

    - требуется гораздо меньше ОЗУ под буферы (36 байт на USB дескриптор и по 64 байта
    на командную строку и путь). детально не копал, но похоже количество вводимых символов
    не проверяется, так что с длинными путями и ком. строкой надо осторожнее.

    - по железу - контроллер подключается аналогично SD_HWM_PVV - шина данных, /RD, /WR, /CS, A0.
    конкретные адреса нужно указать в defs.inc (DATA_PORT, CMD_PORT);
    там же надо указать начальный адрес компиляции и адрес буфера.

    все это добро со всеми фичами помещается в 2 килобайта. загрузка файлов по ощущениям
    в несколько раз быстрее чем с SD_HWM_PVV (это понятно - процессору не нужно перепахивать
    директории, FAT и т.п.)
    [свернуть]


    ПЗУ, после сборки, получился чуть меньше 2 килобайт.
    Последний раз редактировалось AlexBel; 30.10.2024 в 11:39.

  5. #64

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,215
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,648
    Поблагодарили
    573 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexBel Посмотреть сообщение
    Так что 256 байт - это ещё с запасом, если мои подсчёты верны
    Можно память заполнить известным значением, поработать в SDOS и потом посмотреть сколько из этих байтов затёрлось.
    С уважением, Станислав.

    Этот пользователь поблагодарил CityAceE за это полезное сообщение:

    AlexBel(30.10.2024)

  6. #65

    Регистрация
    30.12.2018
    Адрес
    г. Москва
    Сообщений
    1,375
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    384
    Поблагодарили
    346 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    А размер сектора разве не 512 байт? Или там буфер не под загрузку сектора используется?
    буфер на сектор с CH376 не используется. файлы пишутся/читаются прямо по целевым адресам в памяти. буфер там для командной строки и текущего пути, плюс еще пара байт на текущий LUN и еще что-то.

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

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Можно память заполнить известным значением, поработать в SDOS и потом посмотреть сколько из этих байтов затёрлось.
    а можно проосто посмотреть в исходник

    Код:
    #ifdef CH376
    BUFDIR  EQU BUF
    CWD     EQU BUF+40
    LINEBUF EQU CWD+64
    M_LUN   EQU LINEBUF+64
    ENDBUF  EQU M_LUN+1
    
    #else

    Зверинецъ

    Специалист (был когда-то "совсем стандарт") - 1988-2023
    Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
    Ленинград2 + CF карта
    Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
    БК0010-01 стоковый
    [свернуть]

  7. #66

    Регистрация
    02.01.2007
    Адрес
    Волгоград, Россия
    Сообщений
    1,454
    Спасибо Благодарностей отдано 
    195
    Спасибо Благодарностей получено 
    161
    Поблагодарили
    99 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Поставил на шину данных буфер на 74LS245, провода до платы CH376 примерно 8см. Конденсатора нет. Работает стабильно.

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

    [свернуть]

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

    [свернуть]


    Теперь нужно разобраться с приостановкой и прерыванием вывода каталога и проверить запись. Только клавиатуру PS/2 подключить, а то неудобно на шлейфиках клавиатуру от РК-86 использовать
    Последний раз редактировалось AlexBel; 02.11.2024 в 05:37.

  8. #67

    Регистрация
    30.12.2018
    Адрес
    г. Москва
    Сообщений
    1,375
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    384
    Поблагодарили
    346 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexBel Посмотреть сообщение
    Теперь нужно разобраться с приостановкой и прерыванием вывода каталога и проверить запись. Только клавиатуру PS/2 подключить, а то неудобно на шлейфиках клавиатуру от РК-86 использовать
    кусок из dos_gal_RUNF.inc:

    Код:
    IfKeyPress:
     push H
     lxi H,02000h+31 ; test if SPACE is pressed
     mov A,M
    ; push PSW
    ; pop PSW
     pop H
     ret
    походу там не любая клавиша проверяется, а конкретно пробел.

    Зверинецъ

    Специалист (был когда-то "совсем стандарт") - 1988-2023
    Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
    Ленинград2 + CF карта
    Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
    БК0010-01 стоковый
    [свернуть]

  9. #68

    Регистрация
    02.01.2007
    Адрес
    Волгоград, Россия
    Сообщений
    1,454
    Спасибо Благодарностей отдано 
    195
    Спасибо Благодарностей получено 
    161
    Поблагодарили
    99 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Serg6845 Посмотреть сообщение
    кусок из dos_gal_RUNF.inc:

    походу там не любая клавиша проверяется, а конкретно пробел.
    Я нажимал пробел, безрезультатно

  10. #69

    Регистрация
    30.12.2018
    Адрес
    г. Москва
    Сообщений
    1,375
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    384
    Поблагодарили
    346 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexBel Посмотреть сообщение
    Я нажимал пробел, безрезультатно
    надо разбираться где глюк - в IfKeyPress или в GETC
    попробуй добавить в dos_rk.asm строчку

    Код:
    C_DIR12:
    	CALL IfKeyPress	; опрос нажатия кнопок 
    	CPI 0FFH	; приостановка вывода списка файлов если есть нажатие любой кнопки
    	JZ C_DIR3
    	jmp C_DIR12
    	call GETC
    	cpi dir_exit	;выход
    	rz
    если при нажатии и удержании пробела вывод остановится - проблема в GETC, надо смотреть что там в ПЗУ Галаксии, если нет - проблема в IfKeyPress

    Зверинецъ

    Специалист (был когда-то "совсем стандарт") - 1988-2023
    Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
    Ленинград2 + CF карта
    Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
    БК0010-01 стоковый
    [свернуть]

  11. #70

    Регистрация
    02.01.2007
    Адрес
    Волгоград, Россия
    Сообщений
    1,454
    Спасибо Благодарностей отдано 
    195
    Спасибо Благодарностей получено 
    161
    Поблагодарили
    99 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Serg6845 Посмотреть сообщение
    если при нажатии и удержании пробела вывод остановится - проблема в GETC, надо смотреть что там в ПЗУ Галаксии, если нет - проблема в IfKeyPress
    Видимо, я недостаточно по времени удерживал пробел - стал удерживать дольше и вывод каталога стал останавливаться. В общем, извиняюсь за ложную тревогу. После остановки нажимал ENTER и вывод шёл дальше. Если нажимать пробел, вывод шёл, останавливаясь после каждого файла. Правда, ещё не понял, как прерывать вывод. Когда нажимаю BREAK, вывод останавливается, но выхожу в Бейсик и нужно снова набирать A=USR(&F000).
    Ещё непонятная штука с вводом имени файла для запуска. Игра PACMAN_P - проблема с вводом подчерка в имени файла. В Бейсике подчерк вводится нормально, но в SDOS подчерк не вводится. Другие символы вводятся. Конечно, можно переименовать файл, это не проблема. Буду тестить CH376 дальше, попробую запись. Только что сделал PS/2 для Галаксии, не знаю, успею ли сегодня потестить...
    Последний раз редактировалось AlexBel; 04.11.2024 в 15:30.

Страница 7 из 10 ПерваяПервая ... 345678910 ПоследняяПоследняя

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

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

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

Похожие темы

  1. SD карта для ZX-Spectrum
    от PVV в разделе Разный софт
    Ответов: 21
    Последнее: 25.11.2018, 23:48
  2. Ответов: 1
    Последнее: 14.09.2018, 20:59
  3. Видео карта для спека.
    от Руслан в разделе Изображение
    Ответов: 17
    Последнее: 30.08.2013, 01:29
  4. 2D видео-ускоритель для 8-битных компов, ценй 53$
    от Valen в разделе Зарубежные компьютеры
    Ответов: 4
    Последнее: 08.08.2012, 16:03
  5. Ответов: 3
    Последнее: 09.05.2011, 12:19

Ваши права

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