IPB

Здравствуйте, гость ( Вход | Регистрация )

> Контроллер псевдодиска на MicroSD на шину МПИ, ДВК-1; ДВК-2; ДВК-3; ДВК-4; Электроника-60; Электроника 60М; Славутич ПК-1; УКНЦ
SuperMax
сообщение 14.5.2019, 13:01
Сообщение #1


Администратор
*****

Группа: Root Admin
Сообщений: 6 341
Регистрация: 7.1.2006
Из: Красноярск
Пользователь №: 1



Совместными усилиями разработан контроллер псевдодиска на MicroSD

Данный контроллер предназначен для современной и надежной замены КЖД (DW) в компьютерах серии ДВК-1; ДВК-2; ДВК-3; ДВК-4; Электроника-60; Электроника 60М; Славутич ПК-1 и им аналогичные PDP-11 совместимые.

Фото контроллера на МПИ:
v1.00
Прикрепленное изображение
v1.01
Прикрепленное изображение

v2.00
Прикрепленное изображение
Прикрепленное изображение
Фото контроллера на QBUS:
v1.00
Прикрепленное изображениеПрикрепленное изображение


Также разработана версия контроллера для УКНЦ
v1.00
Прикрепленное изображение
Прикрепленное изображение
v1.01
Прикрепленное изображение
Прикрепленное изображение

v2
Прикрепленное изображение
Прикрепленное изображение
Контроллер псевдодиска на MicroSD на шину МПИ: особенности версии для УКНЦ




Технические характеристики:
  • Эмуляция 8ми дисков объемом 65534 блока для корректной работы RT-11; таким образом общая используемая емкость накопителя 262136К;
  • Контроллер поддерживает MicroSD- и MicroSDHC; Карточки SDXC нашим устройством не поддерживаются;
  • Поддерживается возможность установки 2х контроллеров с разными адресами;
Инструкция по эксплуатации
Предлагаемый контроллер эмулирует до восьми дисковых устройств AZ на одной микроSD-карточке. Каждый эмулируемый диск (псевдодиск) представлен на карточке файлом с точки зрения PC, поэтому не возникает никаких вопросов в размещении псевдодисков на носителе большого объема - просто помещаем карточку в кардридер, подключаем к PC, копируем на карточку файлы нужного объема (и с нужным содержимым), переставляем ее в контроллер, и всё! Более того, поработав с карточкой на ДВК, можно извлечь ее из контроллера, снова поместить в кардридер и скопировать наработанные файл-образы дисков на PC, где с ними можно работать любыми средствами - например, подключить к эмулятору, заархивировать и сложить куда-нибудь на хранение, отправить в конференцию, и т.п. Также не представляет особого труда скопировать какой-то материал, найденный в сети, на карточку, переставить ее в контроллер и использовать этот материал на ДВК/УКНЦ.

Контроллер занимает на МПИ адреса 177220-177226 (словные, байтовый доступ запрещен). 177220 - регистр команд и состояния (РКС, CSR), 177222 - регистр данных, 177224 и 177226 - регистры (однословные ПЗУ) начальных загрузчиков.

Контроллер поддерживает MicroSD- и MicroSDHC-карточки. Мы испытывали SDHC-карты разных производителей и объемов, разница наблюдалась только в скорости записи на псевдодиск. С трудом удалось найти древнюю микро-SD (не HC) на 512М, да, пишет медленно, но работает и скорость чтения почти такая же, как и у SDHC. Карточки SDXC нашим устройством не поддерживаются.

Перепишите на MicroSD-карточку файл-образы дисков AZ0-AZ7. Это файлы AZ000.DSK - AZ007.DSK. Вставьте карточку в гнездо на контроллере, до щелчка.

Вставьте контроллер в корзину ДВК/Э-60 (или в слот CA на УКНЦ).При установке в корзину ДВК/Э-60/PDP-11 необходимо соблюдать путь прерываний - те "змейку", так как контроллер использует прерывания.


Включите компьютер. Если он автозапускается по какой-либо причине (это возможно при наличии альтернативных прошивок для ВМ2/3 или загрузочного ПЗУ на какой-то из дополнительных плат), остановите его, т.е переведите его в связь с пультовой программой (нажать дважды кнопку "ОСТ" на ДВК-3/Квант-4, опустить и поднять снова флажок "Программа/Пульт" на ДВК-2/3М2/Э-60.

Скорее всего, на экран будет выдано 6 восьмеричных цифр и, в следующей строке, значок "@", курсор будет мигать рядом с ним. Это сигнал о том, что процессор находится в состоянии "Останов" (Halt-Mode) и ждет от вас пультовой команды.

Подадим ее. Команда такая:
Код
177226G

Это указание процессору начать исполнение программы с адреса 177226. По этому адресу располагается однословное ПЗУ программы запуска ОС с диска AZ0. Должна запуститься RT-11. После этого можно перезагрузиться с любого другого диска командой BO AZx:
также можно использовать команду полного адреса:
Код
177777226G


Запуск на УКНЦ: в меню выбираем "отладка"
Код
177226<ИСП>



Есть альтернативная команда - запуск с адреса 177224, т.е 177224G. Пока ее действие точно такое же, как и основной команды запуска, но далее планируется кое-какие изменения, в частности, одна из них будет просто запускать ОС с AZ0, а вторая будет спрашивать, с какого диска загрузиться.

Размер каждого из дисков (файлов с точки зрения PC) должен быть строго 32767К (65534 блока), таким образом общая емкость накопителя будет 262136К. В ближайшей новой версии прошивки будет добавлена смена дисков (файл-образов) прямо из RT-11, специальной программой, тогда на микро-SD можно будет иметь столько файл-образов, сколько туда влезет, однако, одновременно будут доступны только 8 из них, т.е. 262136К, это ограничение RT-11.

Возможна установка двух контроллеров, для этого предусмотрен альтернативный набор адресов контроллера, переключение производится DIP-переключателем №1 на плате контроллера. Основной набор адресов (177220-177226) действует при выключенном состоянииэтого переключателя, альтернативный (177200-177206) - при включенном (ON). Остальные переключатели зарезервированы для дальнейшего расширения функционала.


Перспективы развития продукта
Данный контроллер снабжен достаточно мощным микроконтроллером STM32F407VET6, что позволяет реализовывать расширение возможностей контроллера без изменения аппаратной платформы.

Соответственно обозначу примерный набор функционала для развития:

1. реализовать сетевое подключение при помощи внешней сетевой карты на базе ENC28J60 [реализовано]
1.1 подключение позволит получить удаленный доступ к данным на SD-карте - те это будет FTP-сервер WEBDAV-сервер [реализовано]
посредством которого можно будет изменять информацию на диске удаленно [реализовано]
1.2 FTP-сервер WEBDAV-сервер будет предоставлять доступ на уровне самой FS RT11 [реализовано]
1.3 Обновление прошивок через Интернет
1.4 Управление настройками сети через ini-файл [реализовано]

2. Развитие функционала монтирования образов через ini-файл [реализовано]
2.1 Монтирование образов через команду SET AZ
2.2 Монтирование образов на SMB/NFS-шаре свой Landisk server [реализовано]
2.3 Увеличение объема поддерживаемых дисков для работы RSX-11 [реализовано]
2.4 Обновление через образ на SD карте
2.5 Внешний загрузчик, те пользовательский код который закачивается в машину и запускается (удобно для разработки своих расширений на базе AZ - к примеру меню загрузки)

3. Часы [реализовано] утилиты

4. Разработка драйвера AZX.SYS для монитора XM [реализовано]

5. Разработка драйвера для RSX [реализовано]
6. Набор утилит для монтирования дисков из RT11 [реализовано] утилитыАктуальная firmware(прошивка) для контроллера v16

ТУТ



Устаревшее
2019.05.14
Прикрепленный файл  AZ707_2.RAR ( 18.11 килобайт ) Кол-во скачиваний: 113656

2019.05.19
Прикрепленный файл  AZ707_2_2019_05_19.RAR ( 18.35 килобайт ) Кол-во скачиваний: 112603

Комплект дисков
RT11 + ADOS + коллекция софта
Прикрепленный файл  HD2019_05_19.RAR ( 14.93 мегабайт ) Кол-во скачиваний: 113052

Версия для УКНЦ - добавлены драйвера AZ
и ADOSSJ для УКНЦ на AZ6:
Прикрепленный файл  HD_2019_08_09.RAR ( 16.63 мегабайт ) Кол-во скачиваний: 112577



Ссылки:
AZ controller for PDP-11 minicomputers


Приобрести контроллер для ДВК можно тут
Приобрести контроллер для УКНЦ можно тут

Процедура обновления firmware (прошивки) контроллера

Контроллер псевдодиска на MicroSD ДВК: подключение сетевой карты

сборка и наладка конструктора контроллера для ДВК печатная плата версии v1.01
Контроллер псевдодиска на MicroSD для УКНЦ: сборка и наладка конструктора контроллера

Контроллер псевдодиска на MicroSD на шину МПИ: особенности версии для УКНЦ

Страницы разработки на ZX-PK
УКНЦ + AZ - вариант контроллера псевдодисков на микро-SD для УКНЦ.
Контроллер псевдодиска на SD-карте для ДВК



--------------------
Живы будем - Не помрем !
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
SuperMax
сообщение 15.12.2024, 11:26
Сообщение #2


Администратор
*****

Группа: Root Admin
Сообщений: 6 341
Регистрация: 7.1.2006
Из: Красноярск
Пользователь №: 1



Новые команды контроллеров AZБК, остальные AZ будут игнорировать данную команду
Старые команды тут и тут и тут и тут

поддержка начиная с v17

функционал скриншотов
команда 044: // сохранение скриншота в файл
данная команда предназначена для снятия образа памяти указанного размера (или определенного автоматически на основании сохраненных параметров)
технически команда может служить как средство отладки ибо способная снимать образ памяти
общее ограничение на снятие образа памяти - 2МБ на один образ

в качестве параметров используется страница 76(8)

ее формат такой:
Код

// структура хидера скриншота
typedef __packed struct screen_header
{
    unsigned short int                tag;                    // должен быть равен 0240
    
  unsigned int                             begin_adress;    // начальный адрес в словах - прямая задача в физических адресах
    unsigned int                             length;                // длина в словах - прямая задача в физических адресах
    
    unsigned short int                begin_page;        // начальная страница - номер - прямая задача в номерах страниц
    unsigned short int                len_pages;        // количество страниц - прямая задача в номерах страниц
    
    unsigned short int                R177300;            //
    unsigned short int                R177302;            //
    unsigned short int                R177304;            //
    unsigned short int                R177306;            //
    unsigned short int                R177310;            //
    unsigned short int                R177312;            //
    unsigned short int                R177314;            //
    unsigned short int                R177316;            //
    unsigned short int                R177320;            //
    unsigned short int                R177322;            //
    unsigned short int                R177324;            //
    unsigned short int                R177326;            //
    unsigned short int                R177330;            //
    unsigned short int                R177332;            //
    unsigned short int                R177334;            //    
    unsigned short int                R177336;            //
    unsigned short int                R177340;            // - Регистр управления активацией окно - маски окон
    unsigned short int                R177342;            // - Регистр управления r/o на окно
    unsigned short int                R177344;            // - Регистр управления shadow окон - маски окон
    unsigned short int                R177346;            // - Регистр управления маппером
    unsigned short int                R177350;            // - регистр копия по записи 177130 в режиме записи управления памятью в SMK    
  unsigned short int                R177352;            // - регистр копия по записи 177716 в режиме записи управления памятью в БК11М
    
    unsigned short int                R177230;            // - регистр управления
    unsigned short int                R177232;            // - регистр номера страницы начала отображения - верхняя страница (слой 0)
    unsigned short int                R177240;            // - регистр номера страницы начала отображения - средняя страница (слой 1)  
    unsigned short int                R177242;            // - регистр номера страницы начала отображения - нижняя страница  (слой 2)  
    unsigned short int                R177244;            // - регистр вертикального скролинга слой 2
    unsigned short int                R177246;            // - регистр вертикального скролинга слой 1
    unsigned short int                R177250;            // - регистр вертикального скролинга слой 0
    unsigned short int                R177252;            // - регистр гозизонтального скролинга слой 0
    unsigned short int                R177254;            // - регистр гозизонтального скролинга слой 1
    unsigned short int                R177256;            // - регистр гозизонтального скролинга слой 2        
    
    unsigned short int                paldata[338];    //
} screen_header_t;


пример ее заполнения:
Код

;--------------------------------------------------
; карта 76й страницы - туда мы готовим данные для команды скринщотов
        SCR_PAGE        = 130000             ; 76ую страницу цепляем на место 77й временно - те в окно 130000
        SCR_TAG         = SCR_PAGE+0         ; тут вход - 240 - 1 слово
        SCR_ADDR_CONF   = SCR_TAG+2          ; сюда команду с адресами - адрес+длина 24 бита - 4 слова
        SCR_PAGE_CONF   = SCR_ADDR_CONF+8.   ; сюда команду со страницами - начальная страница и количество страниц - 2 слова
        SCR_MEM_CONF    = SCR_PAGE_CONF+4.   ; cюда конфигурацию памяти из регистров - 22 слова
        SCR_VGA_CONF    = SCR_MEM_CONF+44.   ; сюда конфигурацию видеоконтроллера - 10 cлов
        SCR_PAL         = SCR_VGA_CONF+20.   ; сюда 338. значений(слов) палитры 338 слов
;--------------------------------------------------


; trap 41 - подготовка дефолтной информации для работы функционала скриншотов
PrepSRC:        jsr     R5, PUSHA             ; пакетное сохранение регистров
                mov     @#177326,-(SP)       ; сохраним страницу 130k которая была до вызова
                mov     #76,@#177326         ; цепляем 76ую страницу в окно

                mov     #100377,R3           ; константа-заполнитель
                mov     #SCR_PAGE,R4
                mov     #2047.,R2
4$:             mov     R3,(R4)+
                sob     R2,4$

                mov     #240,@#SCR_TAG       ; проставляем тег

         ; чистим участок адресов - дефолтно автоматическое определение адресов
                clr     R3
                mov     #SCR_ADDR_CONF,R4
                mov     #10,R2
2$:             mov     R3,(R4)+
                sob     R2,2$

         ;конфигурация памяти - дефолтная
                mov     #SCR_MEM_CONF,R4
                mov     #30,(R4)+            ;177300
                mov     #31,(R4)+            ;177302
                mov     #32,(R4)+            ;177304
                mov     #33,(R4)+            ;177306
                mov     #04,(R4)+            ;177310
                mov     #05,(R4)+            ;177312
                mov     #06,(R4)+            ;177314
                mov     #07,(R4)+            ;177316
                mov     #20,(R4)+            ;177320
                mov     #21,(R4)+            ;177322
                mov     #22,(R4)+            ;177324
                mov     #23,(R4)+            ;177326
                mov     #120,(R4)+           ;177330
                mov     #121,(R4)+           ;177332
                mov     #110,(R4)+           ;177334
                mov     #100,(R4)+           ;177336

                mov     #170000,(R4)+        ;177340 - Регистр управления активацией окно - маски окон
                mov     R3,(R4)+             ;177342 - Регистр управления r/o на окно
                mov     #7777,(R4)+          ;177344 - Регистр управления shadow окон - маски окон
                mov     #40404,(R4)+         ;177346 - Регистр управления маппером
                mov     R3,(R4)+             ;177350 - регистр копия по записи 177130 в режиме записи управления памятью в SMK
                mov     #16000,(R4)+         ;177352 - регистр копия по записи 177716 в режиме записи управления памятью в БК11М

         ;конфигурация видеоконтроллера - дефолтная
         ;  177230-177256
                mov     #SCR_VGA_CONF,R4

                mov     #12201,(R4)+         ;177230 - регистр управления
                mov     #4,(R4)+             ;177232 - регистр номера страницы начала отображения - верхняя страница (слой 0)
                mov     R3,(R4)+             ;177240 - регистр номера страницы начала отображения - средняя страница (слой 1) "под спрайты"
                mov     R3,(R4)+             ;177242 - регистр номера страницы начала отображения - нижняя страница (слой 2) "под фон"
                mov     R3,(R4)+             ;177244 - регистр вертикального скролинга слой 2
                mov     R3,(R4)+             ;177246 - регистр вертикального скролинга слой 1
                mov     R3,(R4)+             ;177250 - регистр вертикального скролинга слой 0
                mov     R3,(R4)+             ;177252 - регистр гозизонтального скролинга слой 0
                mov     R3,(R4)+             ;177254 - регистр гозизонтального скролинга слой 1
                mov     R3,(R4)+             ;177256 - регистр гозизонтального скролинга слой 2

         ; закачиваем палитру - берем дефолтную из этой ПЗУшки
                mov     #SCR_PAL,R4
                mov        #PalData,R2
                mov        #338.,R3
1$:             mov     (R2)+,(R4)+
                sob        R3,1$

                mov     (SP)+,@#177326; вернем страницу с которой был вызов
                return


вариантов указания участков памяти три
- указать адрес и длину 24х битные - cм формат
если их нет - система смотрит дальше
- указать номер страницы и количество страницы
если их нет - система смотрит дальше - те делает скриншот на основании данных о регистрах 177230 итд
скриншот сохраняется в формате
- страница 76 - ее первый килобайт
- сам образ памяти (если режим слоеный - то все три слоя)

перед вызовом команды можно загрузить имя файла для сохранения скриншота [в cmosmem буфер]
при его отсутствии система сгенерит свое имя:
дефолтный путь для сохранения скриншотов
0:/SCREENS/
формат имени - DDHHMISS.SCR
где DD - две цифры дня месяца, HH - час, MI - минута, SS-секунда

Если в процессе выполнения команды возникнет ошибка - вместо имени будет "ERROR *"
к примеру
"ERROR f_open 6"

Пример кода вызова команды #044
Код

         ; обновим информацию в хидере скриншота
;--------------------------------------------------
; карта 76й страницы - туда мы готовим данные для команды скринщотов
        SPAGE        = 170000             ; 76ую страницу цепляем на место 77й временно - те в окно 130000
        STAG         = SPAGE+0         ; тут вход - 240 - 1 слово
        SADDRC   = STAG+2          ; сюда команду с адресами - адрес+длина 24 бита - 4 слова
        SPAGEC   = SADDRC+8.   ; сюда команду со страницами - начальная страница и количество страниц - 2 слова
        SMEMC    = SPAGEC+4.   ; cюда конфигурацию памяти из регистров - 22 слова
        SVGAC    = SMEMC+44.   ; сюда конфигурацию видеоконтроллера - 10 cлов
        SPAL         = SVGAC+20.   ; сюда 338. значений(слов) палитры 338 слов
;--------------------------------------------------

                mov     @#177326,R5       ; сохраним страницу 130k которая была до вызова
                mov     #76,@#177336         ; цепляем 76ую страницу в окно

         ;конфигурация видеоконтроллера
         ;  177230-177256
                mov     #SVGAC,R4

                mov     @#177230,(R4)+;177230 - регистр управления
                mov     @#177232,(R4)+;177232 - регистр  - верхняя страница (слой 0)
                mov     @#177240,(R4)+;177240 - регистр  - средняя страница (слой 1)
                mov     @#177242,(R4)+;177242 - регистр - нижняя страница (слой 2)                
                mov     @#177244,(R4)+;177244 - регистр вертикального скролинга слой 2
                mov     @#177246,(R4)+;177246 - регистр вертикального скролинга слой 1
                mov     @#177250,(R4)+;177250 - регистр вертикального скролинга слой 0
                mov     @#177252,(R4)+;177252 - регистр гозизонтального скролинга слой 0
                mov     @#177254,(R4)+;177254 - регистр гозизонтального скролинга слой 1
                mov     @#177256,(R4)+;177256 - регистр гозизонтального скролинга слой 2

                mov     R5,@#177336; вернем страницу с которой был вызов


         ;-------------------------
                MOV     #AZ$CSR,R3     ; Готовим CSR контроллера
                MOV     #AZ$DR,R4     ; Готовим DR контроллера
20$:            CLR     (R3)         ; Сбросим контроллер
                TSTB    (R3)                
                BPL     20$
                
         ; очистим блок памяти для имени - дабы система сделала дефолтное имя файла
                mov     #23,(R3)     ; командуем что будем писать данные в буфер
128$:           TSTB    (R3)         ; проверяем результат выполнения
                BPL     128$         ; ждем
                clr     R1    

                mov     #256.,R2     ;
129$:           mov     R1,(R4)      ; отдаем в контроллер
                sob     R2,129$


                MOV     #044,(R3)    ; команда скриншот
22$:            TSTB    (R3)         ;
                BPL     22$          ;

         ; получим имя скриншота
                mov     #22,(R3)     ; отдать на шину считанный блок памяти из буфера
121$:           tstb    (R3)         ; проверяем результат выполнения
                bpl     121$         ; ждем
                
                mov     #BUF,R1
                mov     #256.,R2     ; читаем 256. слов; первое слово - результат чтения
122$:           mov     (R4),(R1)+   ; читаем блок слов в память
                sob     R2,122$

                .PRINT  #RESOK
                .Print  #BUF
              
                mov     #110,@#AZ$CSR; включаем сеть по-умолчанию сеть должна быть постоянно включена
                .Exit






--------------------
Живы будем - Не помрем !
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
SuperMax   Контроллер псевдодиска на MicroSD на шину МПИ   14.5.2019, 13:01
AFZ   Вышел новый релиз фирмвари нашего контроллера. Буд...   8.6.2019, 18:06
AFZ   Подправил релиз 1.0. Новая версия 1.0.1. До этой в...   16.6.2019, 15:23
AFZ   Обнаружилась проблема, о которой мы просто не поду...   29.6.2019, 21:10
AFZ   Подготовлен багфикс к 1.0.1 - улучшение работы на ...   15.7.2019, 2:22
AFZ   Пофиксил мелкие баги, добавил команду отдельного у...   31.7.2019, 18:17
AFZ   Подправил кое-какие мелочи, вроде бы, всё отлажено...   10.8.2019, 22:31
AFZ   Выкладываю файл-образ с RT-11 5.01 - SJ (DS) и XM,...   20.8.2019, 23:53
SuperMax   Спасибо Hobot за подготовку сборника игр для УКНЦ ...   18.1.2020, 0:43
AFZ   Команды контролера AZ 1. Регистры контроллера. Ко...   3.4.2020, 14:58
SuperMax   На данный момент идет развитие сетевой поддержки, ...   27.4.2020, 15:35
AFZ   Выкладываю драйвер AZ для RT-11 (исходник). Я его ...   2.5.2020, 2:32
SuperMax   Подготовили релиз с [b]поддержкой сети [b][i][url...   24.5.2020, 12:08
SuperMax   Рекомендуемая процедура обновления при наличии сво...   24.5.2020, 16:01
SuperMax   Новая линейка контроллеров AZ V2 фото плат в сбо...   26.1.2021, 20:20
SuperMax   Прошивка ПЛИС EPM240 для AZ V2 от 26.01.2021 Ин...   26.1.2021, 20:41
SuperMax   Подготовили новый релиз прошивки от 27.01.2021 [...   26.1.2021, 23:07
SuperMax   Прошивка ПЛИС EPM240 для AZ V2 от 28.02.2021 Исп...   1.3.2021, 0:33
SuperMax   Подготовили новый релиз прошивки от 14.04.2021 [...   16.4.2021, 10:25
SuperMax   Подготовили новый релиз прошивки от 21.04.2021 [...   21.4.2021, 12:35
SuperMax   Обновление драйверов AZ. V05.00 [*]командный файл...   26.4.2021, 7:36
SuperMax   Выложил образ диска AZ с дистрибутивом RSX-11M-PLU...   4.5.2021, 11:47
SuperMax   Новые команды контроллеров AZ* Старые команды [b]т...   10.11.2022, 13:33
SuperMax   Прошивка V13 от 2022-11-26 (единая нумерация с AZ...   26.11.2022, 15:49
SuperMax   Новые команды контроллеров AZ* Старые команды [b]т...   20.3.2023, 13:59
rtype   привет Чистый образ с кучей драйверов (DU, DD, и ...   13.3.2024, 2:41
SuperMax   Новые команды контроллеров AZ* Старые команды [b]т...   20.11.2024, 20:38
SuperMax   Прошивка V16 от 2024-12-04 (единая нумерация с AZ...   4.12.2024, 21:38
SuperMax   Новые команды контроллеров AZБК, остальные AZ буду...   15.12.2024, 11:26
SuperMax   Функционал сетевых дисков реализован начиная с пр...   11.1.2025, 13:38
SuperMax   Прошивка V17 от 2025-02-01 (единая нумерация с AZ...   1.2.2025, 13:06


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 27.6.2025, 20:20