ZX Spectrum
Game

MCoder

PSS (Великобритания),

Авторы: , ,

Жанр: Программирование: BASIC


Доступные версии

 Неофициальное издание
Играть!
 Неофициальное издание
Играть!
 Переиздание
Играть!
 Оригинальное издание
Играть!

Язык

  • Русский
  • English

Управление

  • Клавиатура(?)

Игроков

  • Один
  • Описание
  • Описание (авт.пер.)
  • Описание (авт.пер.)
  • Информация

спектр

     м

   кодер

программирование

  руководство

Зачем нам нужен M-Coder?

Простой ответ в том, что машинный код (MC) про-

программы работают гораздо быстрее, чем основные программы, в результате чего как правило, могут рассчитывать на скорость в 50 раз. С M- Coder вы можете скомпилировать основные программы в машинный горле.

М-Coder … 16k и 48k

На вашем кассеты две версии M-Coder: один на НЕН сторону оригинальную версию в версию 16k и на С другой стороны, улучшенная версия “М-С или II”, который, однако, будет работать только на 48k Spectrum.

М-Coder является компилятор, который в только с целыми числами области -32768 До 32767 работ в большей скорости по размерам скомпилированные программы достижения.

Хотя М-Coder является полезным и umfassended можно про- помощь Программа, пожалуйста, не ждите чудес. Вы с система должна практиковать немного добились лучших результатов стремимся. Это относится также и для описания команд М-Coder не может скомпилировать.

Все адреса работа или значения для 48k М-Coder II Программа распространяется, появляются в скобках после “16k значений”. Мягкие какие-либо различия существенные для М-Coder II описаны отдельно.

Скачать M-кодер

Программа компилятор должен в основном в памяти

Спектр присутствовать, прежде чем вы можете работать с ним. Магазин М-Coder с нормальной нагрузкой “”.

Работа с M-Coder

Можно работать в двух различных способов с M-кодер,

После загрузки программы:

1.) Программа на Бейсике, как вы это обычно делаете

будет. Следует отметить, что команды останова в конце BA Программа СИК должен быть установлен как M-Coder этой командой Программа будет собирать. Это также означает, что в BASIC программа может использовать только команду STOP. ( Команда СТОП не является необходимым для M-Coder II. Но если вам в использовать для компиляции программу команду СТОП, как в версия 16k только до этой инструкции в машинный язык переведены; см также СТОП). Если программа достигнута полная это будет, дайте ему поработать сразу в BASIC для каких-либо ошибок сразу найти Лер.

б) Если вы довольны своей программы, выберите

Компилятор с RAND USR 29000 (60000). Каждый переводится строка программы появится на экране снова. Если степень бакалавра Команда СИК присутствует, который не может быть переведена, как Мигает курсор, указывающий ошибку и программа возвращается обратно в базовый. Когда все было в порядке, это первый компилятор Лер-пробег завершено. Теперь программа приостановлена,, не будет нажата до любой клавиши. После второго прохода с повторяется отображение программы появляется в нижней от экрана сообщение OK и вы вернетесь к BASIC. Составитель в настоящее время завершен успешно (Для М-Coder II оба прохода сделаны без перерыва.

Кроме того, еще два появляются на экране информации NEN: 1. Длина скомпилированного машинного кода, а второй содержит говоря начальное или адрес вызова).

2.) Также уже сделано на кассетные хранятся программы могут

редактировать, просто следуя программе они М-Coder Веды пригласили. Вы, вероятно, перед использованием Компилятор должен внести некоторые изменения в основной программе, таким образом, чтобы он правильно переведены.

Вызов скомпилированных программ

Теперь собранная программа всегда прямо над RAMTOP,

вопрос какой адрес был установлен, сохраняется и, Черт. К М-Coder находится на RAMTOP 26500 (40000) инициализации Siert был. Так, программа MC с RAND (PRINT O. Пусть L =) USR 26500 (40000) должен быть запущен.

Можно ли перевести несколько программ?

Да. Вы можете aufeinandersta- различных программ с М-Coder ” peln “. Вы должны переместить RAMTOP с четкими, где п Значения 24000-28000 (24000 и 59000), могут принять.

Во-первых, вы установите RAMTOP выше, например, на 27000. Затем, Программа загружается или написано, составлен, и, таким образом, непосредственно хранятся на RAMTOP. Теперь вы можете с помощью этой программы RAND USR 27000 начало. Теперь RAMTOP на e.g 25000 (CLEAR 25000) уменьшилось. Теперь, другая программа составлена ​​и быть установлен в начале первой программы между RAMTOP . Убедитесь, что вторая программа для первого не überschriebt. Счетчик в правом верхнем углу Экран каждой программы, конечный адрес составлен дисплеи или в процессе компиляции, то einzelnene байт На счету MC, вы hiltf здесь. Обе процедуры можно только в индивидуальном порядке использовать. Аналогичные переменные в сложенных про- программы, однако, не передаются.

Какие ошибки могут возникнуть?

Если RAMTOP была слишком высокой, “из памяти”

Появляется сообщение об ошибке. Если сообщение об ошибке, оставленный ПУСТЬ или появляется команда ВХОД, необходимо, количество валентных Переменные уменьшаться М-Coder собственной таблицы переменных использует, что, конечно, ограниченной. Выполнено сообщение об ошибке появляется в версии также 16k, когда команды СТОП на концах де из основной программы не имеется.

Оптимальное помощь в устранении неполадок

Вы имеете возможность трех различных уровнях оперативности

Несс программы с различными аксессуарами, вставив программирование программных строк вида REM # п.

REM # 0: Функция ПЕРЕРЫВ работает только тогда, когда “прокрутить?” или ВХОД

              Команды. Это самый быстрый процесс.

REM # 1: Вы можете BREAKen программу в любое время. Эта последовательность               также инициализируется в начале и в настоящее время в два раза               медленно.

REM # 2: Функция ПЕРЕРЫВ работает нормально, это дополнительно

              в правом верхнем углу экрана, просто должны быть выполнены               Отображается строка программы.

ПОСЛЕ раздел относится только к M-кодер II

Доступ к таблице переменных M-Coder

Адреса переменных, используемых М-Coder по Следующая команда отображает:

PRINT USR 65240: “имя переменной в кавычки”

Для размерных полей и строк, как имя переменной только

необходимы два символа, например, $ Или b9. Здесь, вы получаете два значения, с первого по “адресу четкости» в скомпилированной программе, показанной (P = указатель) и второй Представляет начальный адрес в таблице переменных.

Примечание: Поля в М-Coder включать элемент нулевой (т.е. еще один элемент, чем в BASIC), чтобы показывать первый адрес. Печатное адрес был изменен и теперь указывает на Первый элемент.

Команды M-Coder

Имена переменных могут нормально из прописных и строчных букв и

Числа. Выражения, которые состоят из нескольких функций, может быть использован в любом месте. В связи с командованием LET Тем не менее, выражение должно быть заключено в круглые скобки.

Команды и функции, которые применяются только к M-Coder II являются, отмеченные двумя звездочками (**).

Команды

** Так же, как логическое И функции в ПЧ

Команда используется.

ABS ATTR СИГНАЛ х, у для М-Coder II: Не используйте скобки при глина длины меньше чем за секунду желательно: например, СИГНАЛ 1 / 3.5 и не BEEP (1/3), пятый

ГРАНИЦЫ

BRIGHT КРУГ CHR $ ** CLS CLEAR, КОД = е “” или INKEY $. Только Неограниченное Verwendun М-Coder II КОПИЯ ДАННЫЕ список список должен быть множество целых чисел. (В М-Coder II может также строка или строки использовать).

DIM Z (х) для не-М-Coder II: Удаляет поле с именем Z и устанавливает все элементы нуля. Существует только один Область М-Coder (16k) составляется и Z следует читать.

DIM (v) ** С М-Coder II также можете купить несколько одномерным Поля составляются. Если программа abgear- обработаны, однако, по-прежнему имеет место быть в 2 раза v байт доступны. Поскольку ни соответ- ветствующие проверка происходит, убедитесь здесь обязательно означает, что программа будет работать в BASIC есть. Если вы находитесь в скомпилированной программе Neudi- размеров сделать поле, это Хотя принят и доступен, старое поле но не удалены. То есть, в непрерывной Neudimensionierungen (и определения строка) ИК gendwan сообщение об ошибке «Недостаточно памяти» появляются НЕН может. Пространство памяти для строк и полей простирающейся от 100 до 256 байт более STKEND байт под RAMTOP. Все переменные, поля, и Строка удаляются, когда новый про- Программа компиляции. Входной струнных полей невозможно.

НИЧЬЯ х, у НИЧЬЯ х, у, г FLASH При а = х к у STEP всегда +1 GOSUB н GOTO н Если X Тогда S Индиана INK INKEY $ ВХОД комментарий на входе команды, как PRINT обработаны. Персонажи, чьи коды меньше 32 и больше, чем 164, не будет принята.

Эта функция INT был включен так, чтобы вы Ваши основные программы в условиях М-кодер можно проверить.

INVERSE ПУСТЬ LEN $ ** Как и в BASIC. Тем не менее, струны можете в течение функция не будет обработан.

LPRINT СЛЕДУЮЩИЙ NEW ** OUT т, п И ИЛИ ** Как OVER ДОКУМЕНТ PAUSE Приостановка программы N N / 50 в сек. Когда ключ в целом подавляется, М-кодер продолжает выполнение. С п = 0, то программа ждет, пока новый Нажатии кнопки.

PEEK ** УЧАСТОК т, п ТОЧКА POKE м, н PRINT (я) “…”           (Ii) номер           (III) CHR $ н           (Iv) AT т, п           (V) п TAB           (VI) Цвет Параметры           (VII) только М-Coder II: переменная строка RANDOMIZE ПРОЧТИТЕ REM ВОССТАНОВЛЕНИЕ п ВОЗВРАТ РНД Возвращает целое число между 0 и 32,767th Тот же эффект в BASIC вы получите через ЕГР 59997th SGN SQR целое корень.

СТОП Последний быть переведены основная команда. В M-Co II Auss не эта команда в конце про- Программа доступна. Если СТОП в программе происходит, то процесс заканчивается на компилятор этом положении ле. Если вы находитесь в пределах проекта, который будет составлен программа остановится, вы verweaden вместо ОСТАНОВИТЬ Пусть L = USR команда 7406th Струны ** Нормально перевод включен символ длина цепи 32 символов размером. Когда максимальное Длина перезаписаны. Для максимального LAE Длина изменение, необходимо программу с Адрес 60200 с номером (равной длины) между от 1 до 255 и POKE было раньше Определить строковую переменную, которая имеет разную длину должны иметь.

К ** При использовании в обработке строк имеет б общая форма $ (м К п) (или $ (м)) (А не, например, $ (п)).

USR

Пример программы

Если ввести эту программу и в оригинале и compile_id запустить полировкой форма, вы получите представление Выполнение M-кодер.

10 LET P = 0: INK P

12 ДЛЯ F = 1 TO 20 13 СИГНАЛ 1 / (Z + F), F 14 СЛЕДУЮЩИЙ F 20 LET A = 0: Пусть B = 255: Пусть C = 175: Пусть D = 0: CLS 30 Я = 0 TO 255: УЧАСТОК ЗА 1; Я,: NEXT I 40 Я = 0 TO 175: УЧАСТОК ЗА 1; B, I: NEXT I 50 Ибо я = 0 TO 255: УЧАСТОК ЗА 1; (255-я), C: NEXT I 60 Ибо я = 0 TO 175: УЧАСТОК ЗА 1; D (175 – I): Далее я 70 LET A = A + 1: Пусть B = B-1; Пусть C = C-1: Пусть D = D + 1 80 LET P = P + 1: ЕСЛИ P = 7 то пусть P = 0 81 PRINT AT 10, 12; “СПЕКТР” 82 PRINT AT 11, 13: “MCODER” 85 INK P 90 ЕСЛИ затем перейти к 175 10           100 GO TO 30          9000 СТОП

Хранение составленных программ

Вы можете использовать вашу программу MC по SAVE “имя” CODE т, п нормальная

магазин, где п является отправной адрес вашей программы MC. К Заметим, что программа М-кодер также будут сохранены должен, так как скомпилированной программе некоторые процедуры М-Coder существующих использует. Составитель имеет диапазон 28990-32590 (59990 для 65368), так что полная команда – SAVE “имя” КОД 26500 (40000), 6000 (25368) – следует читать.

Мы надеемся на ProfiSoft что вы – в смысле М-Coder – Использование этой программы будет освоили быстро и желаю

Вы успешно.

+ +

| | | | | | | | | | | | | | | | | | | | | | | MCODER | | | | | | | | | | | | | | | | СПЕКТР | | | | (C) P.S.S. 1983 | | | | | | | | | | | | 452, Стони Station Road, | | Ковентри | | CV6 5DG | | | | | | | | | | | | | | Телефон: (0203) 667556 | + +

Зачем использовать MCODER?

Простой ответ на этот вопрос является то, что программы машинного кода

работать намного быстрее, чем те, которые написаны в BASIC. В общем случае улучшение примерно в 50 раз можно ожидать, хотя в некоторых Экземпляры улучшение может быть до 900 раз быстрее, чем в BASIC.

Будет MCODER работу с обеих 16 и 48К СПЕКТРОВ?

Да – вы заметите, что ваш кассета содержит две версии

MCODER – один для 16k СПЕКТРА, а другой для машины 48К Они оба работают точно таким же образом, хотя некоторые вызова адреса не отличаются. Чтобы избежать повторения большие куски инструкция буклет адреса вызовов для 48K машина будет найти в скобках, следующих за revelant 16K адреса.

Как MCODER загружен?

Хотя MCODER нагрузок в несколько частей, все что необходимо сделать пользователю

является использование LOAD “”, нажмите клавишу ВВОД и следуйте указаниям на экране, как они появляются.

Как я могу использовать MCODER?

MCODER можно использовать двумя способами, после его загрузки:

1) Вы можете просто написать программу, в основной, как вы обычно      будет. Важно помнить, что команды СТОП      должны присутствовать в основной программе, как MCODER остановится      компиляции в этой точке. Когда программа будет завершена, вы      должны запустить его, чтобы убедиться, что нет никаких ошибок.    б Когда вы будете удовлетворены с помощью программы в BASIC использования      Команда RAND USR 29000 (60000), чтобы активировать MCODER.

     Каждая строка будет отображаться, как это проверяется, и если любой      ОСНОВНЫЕ найден, который не может быть скомпилирован, то мигание      Курсор покажет, где проблема и программа      вернется в BASIC.

Если все хорошо, то первый проход компилятора будет.

после этого нажатия программа будет приостановлена ​​до тех пор пока ключ (любую клавишу будет делать, кроме SHIFT или разрыв). Когда второй проход завершена Программа вернется в BASIC с сообщением OK. Ваша программа Теперь успешной компиляции.

2) Если у вас уже есть основные программы на ленте них тоже может быть

   составлен. Чтобы сделать этот первый нагрузки MCODER, а затем загрузить    Программа вы хотите собрать. Теперь вы можете использовать MCODER как обычно    но знайте, что вы, вероятно, придется внести некоторые изменения    к исходному программы до того, как скомпилировать правильно.

Как запустить скомпилированные программы?

Составленный Код всегда хранится непосредственно над RAMTOP которые

первоначально установлен на 26500 (40000). Следовательно код может быть ведении адресного вызова т.е. Пусть L = RAND USR 26400 (40000).

? Можно ли составить более одной программы?

Да. Можно ‘стек’ нескольких программ на верхней части друг

с другом, используя MCODER. Это делается путем перемещения RAMTOP с использованием четких п где п между 24000 и 29000 (24000 и 59000). Если RAMTOP является изначально установлен высоко, то процедура может быть введена, составлен, и сохраняется выше RAMTOP. Если RAMTOP затем опускается с помощью CLEAR, п другой рутина может быть вставлена ​​между RAMTOP и нижней части первая подпрограмма. Необходимо соблюдать осторожность, чтобы снизить RAMTOP достаточно в противном случае первая подпрограмма будет частично перезаписаны. Эти Процедуры то можно назвать индивидуально в соответствии с просьбой.

Что ошибка может возникнуть?

Можно не осталось свободного места в нескольких точках

компилятор. Нормальная площадь, отводимая под именами переменных составляет около 200 байт и слишком много переменных вызовет это должно быть превышено. Если это происходит, то сообщение об ошибке будет происходить на левой руке сторона из LET заявлении, в заявлении, или во входном Заявление.

 MCODER GALLEYZ

Если RAMTOP слишком высокой из доклада памяти будет дано. Это

Можно не осталось свободного места для кода между СТОП и возвращаясь к BASIC. Для лечения необходимо либо переместить RAMTOP вниз или уменьшить количество переменных.

Ошибка также возникает, если команда СТОП не входит в BASIC программа.

Трассировки объектов

Три уровня следа и защиты доступны: 0) Перерыв отключена за исключением «свиток? и вход. В результате    самый быстрый и самый маленький код.

1) включена Перерыв. Этот результат в долгосрочной кода, чем делает 0) и    выполнение может быть до Twise тех пор.

2) включена Перерыв плюс линия в настоящее время выполняется отображается    в правом верхнем углу экрана. Это ясно    очень мощная функция в отладке программы, Его недостатком    является то, что код работает примерно в то же скоростью, что и BASIC!

Программа также поставляется предназначено для эксплуатации в опции 0), но вы можете

изменить это столько раз, сколько вам нравится во время программы по РЗМ заявление, которое начинается REM # 0, REM # 1 и REM # 2, соответствующий в трех режимах выше.

Какие команды можно MCODER справиться?

В последующем описании это обозначение, которое используется.

представляет собой одну букву.

V представляет собой переменную.

х, у, г представляет числовое выражение

м, н представляет числовое выражение, которые округляются до

       ближайшее целое.

е представляет выражение.

т представляет собой строковое выражение ценится.

с представляет собой последовательность операторов, разделенных двоеточиями:

С представляет собой последовательность цветовых элементов, каждый прекращено

       запятые из запятой;.

       Цвет пункт имеет форму Бумага, тушь, FLASH, BRIGHT,        INVERSE или OVER заявлении.

Имена переменных могут состоять из верхней и строчных букв и

числа. Произвольные выражения могут быть использованы в любом месте, за исключением LET заявления, где они должны быть заключены в квадратные скобки.

Заявления.

СИГНАЛ х, у

ГРАНИЦА м ЯРКИЕ наборы яркость символов следовательно напечатаны. п = 0               для нормальной, 1 для яркой, 8 для transparrent. Ошибка               К если не 0, 1 или 8.

КРУГ х, у, г CLS КОПИЯ Список ДАННЫЕ Часть списка DATA. Должно быть в программе. Список =               (?) Список целых чисел.

DIM Z (х) Удаляет любой массив с именем Z и устанавливает               Массив Z чисел. Инициализирует все значения в 0.               Только один массив будет принято MCODER и это               должен быть вызван З.

НИЧЬЯ х, у НИЧЬЯ х, у, г               Рисует линию от текущего положения участок скользящей х               по горизонтали и по вертикали у относительно него в то время               поворачивая корыта угол г. х, у, г & может состоять из               Ошибка B, если она runns от экрана.

FLASH При а = х к у GOSUB н ПЕРЕЙТИ НА п Переход к линии п (или, если его нет в первой строке               после этого). п должно быть целым числом.

Если X Тогда S INK н ВХОД ‘…’ представляет собой последовательность элементов ввода, отделяет как               в PRINT заявлении запятыми, точками с запятой или               апострофа. Пункт вход может быть:               (Я) любой пункт PRINT не начинается с буквы.

              (Б) имя переменной или               (III) ЛИНИЯ затем имя переменной типа строка               Пункты PRINT и сепараторы в (I) рассматриваются               точно так, как в печатном виде, кроме того, что все               печатается в нижней части экрана. Количество               вход должен быть целым числом. Если какой-либо символ не -,               +, 0-9 вводится, отображается знак вопроса.

              удалить ключ будет удалить эту ввода символов. INVERSE н Пусть V е LPRINT СЛЕДУЮЩИЙ OUT т, п Выходы байт н в порт м на уровне процессора.

              (Загрузка пару н.э. регистра с м, зарегистрируйтесь               с п и делает команду ассемблера:               из (в), а).

По п ДОКУМЕНТ н Пауза н Остановка вычислений и diplays дисплея плитку для п               кадры (на 50 кадров в секунду или 60 кадров в               Второй в Северной Америке) или до нажатия любой клавиши.               0<= N<= 65535, остальное Ошибка B. Если п = 0, то пауза               не приурочен но длится, пока не будет нажата клавиша. УЧАСТОК с, т, п Печатает пятно чернил (в зависимости от OVER и обратные по               пикселей (т, п); перемещает положение участка. Разве что               цветные элементы C установлено иное, цвет чернил               в позиции символа, содержащего пиксель               изменено на текущем постоянного цвета чернил, и               другой (цвет бумаги, мигает и яркость) являются               оставить без изменения 0<= N<= 175, еще ошибка Б.

POKE м, н Записывает значение п на байт в магазине с адресом               м.

Печать ‘…’ в последовательность PRINT пункта разделены               запятые, точки с запятой; или апострофа ‘, и они               которые прописан в файле отображения для вывода на               телевидение. Точка с запятой; между двумя элементами имеет себе               Эффект – он используется исключительно для разделения элементов.               запятая, выводит управление командой характер, и               апостроф ‘выводит ENTER характер.

              В конце PRINT заявлении, если это не так               заканчиваться точкой с запятой, или запятая или апостроф, ENTER               характер выводится. Пункт PRINT может быть:               (Я) пуст, то есть ничего.

              (Б) численное выражение.

                   Первый минус печатается, является ли число                    отрицательное. Пусть теперь х модуль значения.                    Если х>= 10 ^ (- 5) или х<= 10 ^ 13, то это                    напечатаны с использованием научной нотации.                    Мантисса часть имеет до восьми цифр (с                    нет конечными нулями), а десятичная точка                    (Отсутствует, если только одна цифра) является после первого.                    Exponenta часть E, затем + или -,                    следуют одна или две цифры.

                   В противном случае х печатается в обычном десятичной                    Обозначения до восьми значащих цифр,                    и никакой конце нули после запятой.

                   Десятичной точки в самом начале это                    всегда сопровождается нуля, так например 03                    и 0,3 напечатаны в качестве таковых. 0 печатается                    одна цифра 0.

             (III) CHR число. Печатает символ, код которого                    число дано.

              (IV) AT т, п               (V) TAB н               (VI) пункт цвет, который принимает форму бумаге,                    INK, FLASH, BRIGHT или OVER заявлении.

RANDOMIZE ЧИТАЙТЕ v1, v2 … В.К.

REM МАГАЗИН н ВОЗВРАТ СТОП последнюю строку, которая скомпилирована. Причины возврата к               BASIC.

ФУНКЦИИ

ABS ATTR ОГРН КОД “символ” Значение ASCII символа.

КОД INKEY $ Читает клавиатуры и возвращает characted код               нажатой клавиши.

Количеством Число INT PEEK ТОЧКА РНД SGN SQR USR

Как сохранить comiled код?

Это делается с помощью нормально, кроме рутины спектра, т.е.

SAVE “имя” КОД где п является начальный адрес составлен Код. Заметим, однако, что MCODER также должны быть сохранены в качестве него содержит несколько подпрограмм времени выполнения, которые, собранные потребности кода для правильной работы. Компилятор простирается от 28990 до 32590 (59990 для 63500), таким образом, полное сохранение команды должны быть SAVE “имя” КОД 26500,6000 (SAVE “имя” 40000,23500).

В качестве примера скорости MCODERS

1 Загрузите MCODER

2 Введите следующую программу:

  10 для = 1 TO 50

  20 при В = 1 TO 50   25 УЧАСТОК, B   30 СЛЕДУЮЩИЙ B   40 Вперед   50 СТОП

3 Составьте программу usign RAND USR 29000 (60000)

4 Запустите скомпилированный код, используя Пусть L = 26500 (40000)

Для игры в MCoder не нужны эмуляторы. Это программа для разработки на BASIC, которую создали Threlfall & Hodgson, David Threlfall и John Hodgson, была опубликована творческой группой PSS в 1983 году в Великобритании.

Не запускается или глючит игра, или не можете пройти? Спросите в комментариях.

Отправить ответ

Уведомлять об
avatar
wpDiscuz
 

Сохранённые игры[X]

  

Справка[X]

Помощь уже в пути!

Не забывайте периодически сохранять игровой прогресс на сервере (клавишей F8), чтобы уверенно продвигаться вперёд!

Если вы гость на сайте, то прогресс будет сохранён только в памяти браузера и потеряется при закрытии. Чтобы этого не произошло - просто войдите в свой профиль.

Для загрузки сохранённой игры жмите F3 или откройте меню "Диск" кнопкой на правой панели.

Если игра не запускается, или у вас есть вопросы по игре - задайте их ниже.

Помощь

Размер

  • x1 [256x192]
  • x2 [512x384]
  • x3 [768x576]
  • Полный

Диск

Кликни в окно эмулятора, чтобы управлять!
<<<<
Close