Важная информация

User Tag List

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 31

Тема: Попытка написания чего-то типа MSX-DOS на языке MSX-BASIC

  1. #21
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вставлю пять копеек.

    Вот эти современные методы программирования, ну совсем для бейсика не подходят. В то время msx-барсик давал не виданную свободу программисту (8-битные конкуренты спокойно выдыхали в сторонке). Одно прерывание в барсике чего стоило. Не говоря о том, что можно было программировать прямо по железу.

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

    А вообще если у не окрепшего молодого ума есть предпосылки к программированию, то msx-барсик - лучший выбор. Что бы кашу в голове систематизировать пускай в простой алгоритм.

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

    И причем тут учитель программирования бейсика. Не стоит даже сравнивать бейсик и паскаль, и т.д. Это уже следующий шаг. Дальше продолжать не буду (бо как сейчас програмят через десяток программных прокладок, гигаватты мощности – преобразуются в тепло и только).

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

    И последнее. Не довольны бу-бу-бу. Откуда вы взяли инфу, что учитель заставлял детей писать некий DOS (и пытался привить свое мнение – делайте так). Детей обучали по программе.

    ТС, просто опубликовал свою программу, и попросил написать отзыв о его размышлениях. чего ни будь полезное.

    А еще учитель программист не программистом ценен. А чем? Увлечь детей этой темой
    Последний раз редактировалось OrionExt; 14.11.2017 в 14:51.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  2. #22
    Member Аватар для John Warner
    Регистрация
    02.10.2017
    Адрес
    с. Усть-Камышта, Хакасия
    Сообщений
    40
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Всем привет!
    Я немного подзабросил тему, занят был.
    Попутно, кстати, восстановил на своей машине кассетный вход (менял помершие детали на маме), теперь могу грузить программы с телефона, сконвертив CasLink`ом. А то мой малец начал терять интерес, пущай поиграет
    Сын мой до спрайтов пока не дошёл, но уже бодренько рисует картинки на милллиметровке, и потом описывает их операторами языка; тут самое главное - получить навык описания чего-либо алгоритмическим языком. Надо бы ему ещё нарыть Рапиру и Робика для КУВТ2. Когда-то у меня были.
    Я не пытаюсь поставить рекорд скорости усвоения материала - идём постепенно, приобретая навык.

    Отвечаю всем:
    1) Да, уроки ИВТ я вёл вообще будучи восьмиклассником. Три года. Да, вынужденно. Потом зато вёл кружок. Работал по утверждённой программе. Отмечали мою способность увлечь детей.
    2) Программированием не занимался 25 лет. Трудился и тружусь автоэлектриком, специализируюсь на свапах, апгрейдах, восстановлении и пережгутовывании, преимущественнно Тойот. Вывод - хоть не гений, но и не последний дурак. Но Бейсик и прочая из башки вылетели напрочь.
    И вот есть предложение: предлагаю критичному камраду Батону (он же из Владика, так?) за два часа обойти ограничитель скорости на сотом Марк 2 без вмешательства в нутро компов и родной проводки машины так, чтоб джекичан не истерил, агрегаты отменно работали и диагностика показала, что всё в ажуре
    Ну, как он может - навскидку, нахрапом, увидал - и готово.
    3) Академичности в моих постах не ждите: терпеть не могу пафоса. Поставить задачу, как в диссертации - могу. Но не буду. Снижение стиля - наше всё.
    4) Сейчас читаю материалы, книжки у меня есть, в Гугле я не забанен. По возможности вечерами, набираюсь опыта и знаний.

    Будут результаты - напишу обязательно.

    С уважением.

    ЗЫ Не ожидал такого резонанса от темы...
    Сибиряк безгранично любит свою угрюмую природу; он черпает в ней силу. ©М.Б.Аксѣльродъ
    Моя машина - YAMAHA MSX2 YIS503III КУВТ2 full stock

  3. #23
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    "Что-то на подобии MSXDOS на MSX-Basic" - более бредовой идеи я в жизни не встречал. Вы хоть представляете, что делает BDOS при обработке файловых функций? На бейсике конечно написать можно, но объём будет просто адский, ни в какое ОЗУ это не поместится и понять потом код будет совершенно невозможно. Идея бредовая изначально, тем более что это "родил" учитель информатики. Мдааа, я бы такого уволил бы с работы за полное не понимание матчасти.

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

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  4. #24
    Veteran
    Регистрация
    10.07.2013
    Адрес
    г. Москва
    Сообщений
    1,432
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хоспаде, что вы как собаки бешанные накинулись... это походу наша ментальность насрать в душу, если тебе что-то не нравиться. Пусть человек делает все что ему хочется и даже если это кажется кому-то бессмысленным. В любом случае это движение в перед, и в будущем полученные навыки и знания могут подарить действительно что-то полезное. Каждый считает своим долгом пройти и пнуть. Фу ля аж бесите!!! Сори, бомбануло немного)

  5. #25
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот и меня удивляет, почему то так бамбонуло. И каждый второй - уволить учителя (не читатели. учитель то в 8-ом классе учился тогда). Ну, покритиковали взятое направление и остановилась бы на этом.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

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

    По умолчанию

    Цитата Сообщение от OrionExt Посмотреть сообщение
    Вот и меня удивляет, почему то так бамбонуло. И каждый второй - уволить учителя (не читатели. учитель то в 8-ом классе учился тогда). Ну, покритиковали взятое направление и остановилась бы на этом.
    Ыы... Так "учителю" (сам назвался, никто за язык не тянул), идею которого "одобрили на клубе и попросили продолжать" (как пафосно то звучит! Хоть ТС, типа, пафос то и не любит!), критика по делу не понравилась. Он то надеялся на иное (типа "Коллега! Гениально!! Это прорыв!!!"). А тут с небес на землю спустили на раз...
    Реакция же защитников вообще мало понятна. Вроде очевидно, что херь полная, и критика полностью по делу, но как-то стесняются признать очевидное.
    ЗЫ. Ну уж ахинею про спидометры марков я даже не комментирую, как и не вижу связи между жительством во Владивостоке и оными. А защитники видят? Или даже им стало очевидно, что клиент не адекватен?
    ЗЗЫ. И вообще, тема тихо-мирно ушла бы в небытие, но сегодня у очередного защитника "бомбануло" ;-)
    Последний раз редактировалось Baton; 27.11.2017 в 15:15.

  7. #27
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну вот сделайте чего ни будь и опубликуйте, а мы рассмотрим
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

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

    По умолчанию

    Цитата Сообщение от OrionExt Посмотреть сообщение
    Ну вот сделайте чего ни будь и опубликуйте, а мы рассмотрим
    Не... Ноне писать ничего уже не буду. Ибо, что знал и то уже забыл, а новое изучать лень...
    Старое рассматривайте, 30 летней давности ;-) И это вы попросили, я ничего не предлагал!

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

    Как раз по теме ТС - ввод строки (с обработкой всяких символов и т.д.). Чтобы стало выглядеть красиво, надо TAB c 8 на 10 заменить.
    ;-----------------------------------------------------------
    ; Крутая подпрограмма ввода строки
    ;
    ; [hl] - Адрес буфера
    ; +0 - Максимальная длина строки
    ; +1 - Текущая длина строки
    ; +2 - Размер окна
    ; +3 - Координаты окна (y*80+x) or 4000h
    ; +5 - Позиция курсора в строке
    ; +6 - Отступ слева
    ; +7 - строка
    InpString:
    xor a ; курсор ┬
    ld (CStyle),a

    ISInit: push hl

    push hl
    pop ix
    ld de,0005h ; Устанавливаем указатель на позицию курсора
    add hl,de
    ld a,(hl) ; позиция курсора
    inc hl
    add a,(hl) ; + отступ слева
    ld e,a
    ld d,0
    add hl,de ; Получаем адрес текущего символа
    ;---------
    ISOutStr: ex (sp),hl
    push hl ; Адрес буфера

    ld de,DMA1+22 ; Временный буфер
    push de

    ld bc,0006
    add hl,bc
    ld a,(hl) ; Смещение
    inc hl ; Адрес первого символа в строке
    ld c,a
    ld b,0
    add hl,bc
    and a
    ld a,' '
    jr z,$+4
    ld a,'░'
    ld (de),a
    inc de
    ld b,(ix+2) ; Берем размер окна

    IS004: ld a,(hl) ; Если это последний символ
    cp cr
    jr z,IS003
    ld (de),a
    inc de
    inc hl ; Ставим указатель на следующий
    djnz IS004
    jr IS006 ; И обходим забивание пробелами

    IS003: ex de,hl
    call Fill32
    ex de,hl

    IS006: ld a,(ix+2) ; Берем размер окна
    add a,(ix+6) ; отступ слева
    sub (ix+1) ; длина строки
    ld a,' '
    jr nc,$+4
    ld a,'▐'
    ld (de),a

    pop hl
    push hl
    ld e,(ix+5) ; Позиция курсора
    ld d,0
    add hl,de
    ld (hl),255

    pop hl
    ld e,(ix+3)
    ld d,(ix+4)
    ld b,(ix+2)
    inc b
    inc b
    call LdrVM

    pop hl
    ex (sp),hl

    push hl
    ld a,(hl)
    cp cr
    jr nz,$+4
    ld a,' '
    ld h,0
    ld b,3
    rlca
    rl h
    djnz $-3
    and 11111000b
    ld l,a
    ld de,(CgpBasic)
    add hl,de
    ld de,DMA1+22
    ld b,8
    push de
    call LdrMV

    pop hl
    push hl
    ld a,(CStyle)
    ld c,a
    ld b,0
    add hl,bc
    ld a,8
    sub c
    ld b,a
    ld a,(hl)
    cpl
    ld (hl),a
    inc hl
    djnz $-4
    ld hl,(CgpBasic)
    ld de,255*8
    add hl,de
    ex de,hl
    pop hl
    ld b,8
    call LdrVM

    pop hl

    ISInputKey:
    push hl
    call Inputs
    ld b,a
    ld hl,ISOnKeyGoTo
    call OnKeyGoToFunction
    pop hl
    ld a,b ; Это случаем не управляющий символ?
    cp 32
    jr c,ISInputKey ; Тогда игнорируем его!
    ;----------------------------------------
    ld a,(hl)
    cp cr
    jr z,IS008 ; Добавляем символ к строке
    ;-
    ld a,(CStyle) ; Вставка или надпечатка?
    and a
    jr z,IS009 ; Надпечатка
    ;-
    ld a,(ix+1) ; Текущая длина
    cp (ix+0) ; Сравниваем с максимальной длиной
    jr z,ISInputKey ; Если равны, то ничего не делаем

    push bc ; Сохраним символ
    push hl ; Куда записать
    inc (ix+1) ; Увеличиваем текущую длину строки
    ld a,(ix+1) ; Текущая длина
    sub (ix+6) ; Отступ слева
    sub (ix+5) ; Берем текущую позицию курсора
    ld c,a
    ld b,0
    add hl,bc ; Получаем: откуда сдвигать
    ld d,h
    ld e,l
    inc de ; Куда сдвигать
    inc bc ; Сколько сдвигать
    lddr
    pop hl ; Куда записать символ
    pop bc ; [a] - какой символ
    ;-
    IS009: ld (hl),b ; Новый символ
    inc hl
    jr IS010
    ;-
    IS008: ld a,(ix+1) ; Текущая длина
    cp (ix+0) ; Сравниваем с максимальной длиной
    jr z,ISInputKey ; Если равны, то ничего не делаем

    ld (hl),b ; Добавляем символ к строке
    inc hl
    ld (hl),cr
    inc (ix+1) ; Увеличиваем текущую длину строки
    IS010: ld a,(ix+5) ; Берем Позицию курсора
    cp (ix+2) ; Сравниваем с размером окна
    jr z,IS017 ; Если равна
    inc (ix+5) ; Увеличиваем позицию курсора
    jp ISOutStr ; И выводим стоку

    IS017: inc (ix+6) ; Отступ слева
    jp ISOutStr
    ;----------------------------------------
    ISEsc: scf
    ;-
    ISEnter: ex af,af'
    pop hl ; Адрес текущего символа
    ld a,(hl)
    cp cr
    jr nz,$+4
    ld a,' '
    ld l,(ix+3) ; Адрес окна
    ld h,(ix+4)
    ld e,(ix+5) ; Позиция курсора
    ld d,0
    add hl,de ; Адрес символа с курсором
    call WrVrHL ; Затираем курсор символом
    ex af,af'
    pop hl ; Извлекаем указатель на буфер
    ret
    ;--
    ISRight: pop hl
    ld a,(hl) ; Текущий символ
    cp cr ; Последний?
    jp z,ISInputKey
    inc hl ; Увеличиваем указатель на текущий символ
    ld a,(ix+5) ; Позиция курсора
    cp (ix+2) ; Сравниваем с размером окна
    jr nz,IS015 ; Если не последняя возможная позиция
    inc (ix+6) ; Если последняя, то увеличиваем отступ слева
    jp ISOutStr

    IS015: inc (ix+5) ; Иначе увеличиваем позицию курсора
    jp ISOutStr
    ;--
    ISLeft: pop hl
    ;
    ISLeft_: ld a,(ix+6) ; Слева от окна что-нибудь есть?
    and a
    jr z,IS013 ; Если нет
    ld b,a
    ld a,(ix+2) ; Берем размер окна
    srl a ; Делим пополам
    cp (ix+5)
    jr c,IS013 ; Если курсор правее, то сдвигаем его ; Если курсор левее
    ld a,b
    dec (ix+6) ; Иначе уменьшаем отступ слева
    dec hl ; Уменьшаем указатель на текущий символ
    jp ISOutStr ; и выводим строку

    IS013: ld a,(ix+5)
    dec a
    jp z,ISInputKey
    ld (ix+5),a ; Устанавливаем новую позицию курсора
    dec hl ; Уменьшаем указатель на текущий символ
    jp ISOutStr ; И выводим строку
    ;--
    ISBackStep:
    pop hl
    ld a,(ix+6)
    add a,(ix+5) ; Мы не на первом символе стоим?
    dec a
    jp z,ISOutStr ; Если да, то ничего не делаем
    ;-
    ld a,(hl) ; Тогда может за последним?
    cp cr
    jr nz,IS002
    dec (ix+1) ; Уменьшаем текущую длину строки
    dec hl ; Возвращаемся на один символ назад
    ld (hl),cr ; И устанавливаем указатель конца строки
    inc hl
    jr ISLeft_
    ;-
    IS002: ld d,h ; Ставим указатель на следующий символ
    ld e,l
    push hl ; Это будет новый указатель
    dec de
    ld a,(ix+1)
    sub (ix+6) ; Отступ слева
    sub (ix+5) ; Добавляем позицию курсора
    add a,2 ; + текущий символ + cr
    ld c,a
    ld b,0
    ldir
    dec (ix+1) ; Уменьшаем текущую длину строки
    pop hl
    jr ISLeft_
    ;--
    ISIns: pop hl
    ld a,(CStyle)
    xor 0 xor 5
    ld (CStyle),a
    jp ISOutStr
    ;--
    ISDel: pop hl
    ld a,(hl)
    cp cr
    jp z,ISInputKey

    ld d,h
    ld e,l
    push hl
    inc hl
    ld a,(ix+1) ; Текущая длина строки
    sub (ix+6) ; Отступ слева
    sub (ix+5) ; Добавляем позицию курсора
    inc a
    ld c,a
    ld b,0
    ldir
    dec (ix+1) ; Уменьшаем текущую длину строки
    pop hl
    jp ISOutStr
    ;--
    ISDelToEndOfLine:
    pop hl
    ld (hl),cr
    ld a,(ix+6) ; Отступ слева
    add a,(ix+5) ; Позиция курсора в окне
    dec a
    ld (ix+1),a ; Новая длина строки
    jp ISOutStr
    ;--
    ISDelAllLine:
    pop hl
    ld (ix+1),0 ; Текущая длина строки
    ld (ix+5),1 ; Позиция курсора в строке
    ld (ix+6),0 ; Отступ слева
    ld (ix+7),cr ; Пустая строка
    pop hl ; Указатель на блок
    jp ISInit ; Переходим на инициализацию буфера
    ;--
    ISBeginOfLine:
    pop hl
    ld (ix+5),1 ; Позиция курсора в строке
    ld (ix+6),0 ; Отступ слева
    pop hl
    jp ISInit
    ;--
    ISEndOfLine:
    pop hl
    ld a,(hl) ; Текущий символ
    cp cr ; Последний?
    jp z,ISOutStr
    inc hl ; Увеличиваем указатель на текущий символ
    ld a,(ix+5) ; Позиция курсора
    cp (ix+2) ; Сравниваем с размером окна
    jr nz,IS0151 ; Если не последняя возможная позиция
    inc (ix+6) ; Если последняя, то увеличиваем отступ слева
    jr ISEndOfLine+1

    IS0151: inc (ix+5) ; Иначе увеличиваем позицию курсора
    jr ISEndOfLine+1
    ;------------------------------------------------------------
    ISOnKeyGoTo:
    db esc
    dw ISEsc

    db cr
    dw ISEnter

    db 28
    dw ISRight

    db 29
    dw ISLeft

    db 30
    dw ISBeginOfLine

    db 31
    dw ISEndOfLine

    db 8
    dw ISBackStep

    db 18
    dw ISIns

    db 127
    dw ISDel

    db 5
    dw ISDelToEndOfLine

    db 21
    dw ISDelAllLine

    db 0
    ;---------------------------------------------------------------------
    OnKeyGoToFunction:
    ld a,(hl) ; Проверяем
    inc hl ; Адрес перехода по клавише
    and a ; Конец меню?
    ret z ; если да, то возвращаемся
    ld e,(hl)
    inc hl
    ld d,(hl)
    inc hl
    xor b ; Эта клавиша нажата?
    jr nz,OnKeyGoToFunction; Если нет, то продолжаем проверку
    pop hl ; Удаляем из стека адрес возврата
    ex de,hl ; [hl] - адрес перехода
    jp (hl) ; Переходим к функции
    ;---------------------------------------------------------------------
    [свернуть]
    Последний раз редактировалось Baton; 27.11.2017 в 16:09.

  9. #29
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Давным-давно видел я в инете симулятор unix на JavaScript. Так вот это тоже не юникс, и "херь полная". Но человек делал, изучал юникс, и у него кое-что получилось. И прикольно получилось.

    Щас погуглил, на первом месте совсем не то, там реально эмулятор. А вот чуть ниже есть похожее: http://www.masswerk.at/jsuix/ (кликнуть на open terminal, пользователь guest)

    Эта шняга ведёт себя почти как юникс. Написана исключительно на JavaScript, прикольно посмотреть на исходники. Я так полагаю, топикстартер хочет сделать нечто подобное, но на MSX-BASIC, этакий игрушечный симулятор MSX-DOS. Так что не надо "нашу птичку обижать" (с) Матроскин.

  10. #30
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Baton, позитивно. Правда, не понял куда приложить. Но обилие коментариев, очень радует.

    Ага, тут обнаружил в MSX-барсике - REM можно заменить на " ' ".

    Можно отлично оформить код на большом брате, а потом запулить без коментов на целевую машину

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

    А так, я больше по железу в соседней теме.
    Последний раз редактировалось OrionExt; 27.11.2017 в 17:12.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Отсканировал книжку по MSX-Basic
    от AlexBel в разделе MSX
    Ответов: 12
    Последнее: 08.11.2018, 04:32
  2. Эмуляция ATM-Turbo 2+ 0.91 с MSX-DOS
    от breeze в разделе Эмуляторы
    Ответов: 15
    Последнее: 11.06.2017, 17:51
  3. Ответов: 0
    Последнее: 24.04.2017, 16:24
  4. Ответов: 12
    Последнее: 24.06.2009, 12:33
  5. Ответов: 0
    Последнее: 08.05.2006, 13:56

Ваши права

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