Операционная система Xmtwolime


Введение[1] править

Xmtwolime — это операционная система, которая уважает вашу свободу. Работает на виртуальной машине iiixmish2 и не выполняет операций над файлами.

Требования править

Вы должны иметь:

  • Java Runtime Environment и Java Development Kit (>= 8; OpenJDK подойдёт)
  • iiixmish2
  • makexm2c-tools
  • компилятор Си
  • GNU bash
  • зависимости вышеперечисленных пакетов

Сборка… править

…iiixmish2 и makexm2c-tools править

$ cd iiixmish2/
$ bash build.sh
$ cd ../makexm2c-tools
$ bash build.sh

…системы править

$ cd xmtwolime/
$ bash build.sh </путь/к/makexm2c-tools> <устройство> # «ls etc» для получения списка доступных «устройств»

Загрузка править

Запустите iiixmish2:

$ cd iiixmish2/
$ java downadow.iiixmish2.main.Iiixmish2 <путь к каталогу xmtwolime>/image --no-communication

Если ничего не нажимать, должна пойти нормальная загрузка системы. Если нажать клавишу «f», то загрузка пойдёт в FastBoot, где, при условии разблокированного состояния, можно прошивать файлы, используя xtl-fastboot-tool (в таком случае, отпустите параметр --no-communication при запуске машины). Если же нажать «r», то загрузится «рекавери».

Работа с Xmtwolime править

Войдите в систему, оставив поле ввода пустым.

sed 8700000 STRока запишет строку «STRока», начиная с ячейки памяти 8700000. bed 9000200 0001024 (набирать точно так, как показано) положит число 1024 в ячейку 9000200. Команда tnp изменяет знак яч. памяти. str 8700003 покажет содержимое памяти, начиная с яч. 8700003. vwb показывает значение ячейки памяти (формат как у txt). gam запустит игру. txt 9000000 начнёт записывать пользовательский ввод в память, начиная с ячейки 9000000. thm выведет информацию о цветах. thm 1 0 изменит цвет фона на белый, а цвет текста — на чёрный. Программа who печатает идентификатор пользователя (UID). Есть и другие программы.

Написание программного обеспечения править

Пример программы на Makexm2c
;; эта программа выводит свои аргументы
ech:
	mov %R_FA_0%, %ARGS_ST%
	mov %R_FA_1%, %OUT_ST%
	
	mov %R_FA_2%, %OUT_ST%
	mov2 %R_FA_3%, <ech_loop>
	
	ech_loop:
		vld %R_FA_0%, %R_FA_4%
		vsv %R_FA_4%, %R_FA_1%
		
		inc %R_FA_0%
		inc %R_FA_1%
		
		if %R_FA_0% < %R_FA_2%, %R_FA_3%
	
	updd
	%__END_THE_APP__%

Makexm2c — это язык ассемблера для iiixmish2. Xmtwolime-программы написаны на нём. См. следующие учебники: Makexm2c, Makexm2c и Xmtwolime.

Примечания править