Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions assets/tis3d/doc/zh_cn/block/casing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# 机箱

![In case of logic](item:tis3d:casing)

机箱可以安装六个模块。有鉴于机箱必须要连接到[控制器](controller.md)才能发挥作用,所以通常只能连接五个;机箱与机箱之间,或机箱与[控制器](controller.md)之间的面不能连接模块,因为这些面需要用来进行内部通讯。在装有模块的面旁边放置机箱或[控制器](controller.md)将导致模块被强行弹出。

机箱可以为每个模块提供四个端口。这些端口可以用来在机箱的棱上传递数据。如果在端口方向有另一个机箱,那么数据就会从连接面中传输过去,发送至相邻模块的对应端口。如果该方向上没有另一个机箱,那么他就会在同一个机箱的相邻面之间传输数据。

这意味着每个端口都必然对应着一个模块插槽。但是,如果插槽上并没有安装模块,那么对这个端口进行的任何读写操作都不会产生效果。

机箱可以用[钥匙](../item/key.md)来锁定。当机箱被锁定时,模块就不能插入到插槽上,或者从插槽上移除。这可以用来阻止其他玩家的修改,同时也可以避免不小心点击时移除模块。

另外,当玩家潜行时,[钥匙](../item/key.md)可以用来开启/关闭任意面的任 意接收端口。当接收端口被关闭时,任何的写入操作都会被阻塞。这可以用来避免将多接口输出的信号输出到不想要的位置。这使得你可以进行非常紧凑的设计,而且还可以帮你省下一些[执行模块](../item/module_execution.md)。否则,你在类似的场景下可 能需要使用更多的[执行模块](../item/module_execution.md)来管理数据的流向(比如说 直接把[红外模块](../item/module_infrared.md)的数据输出到[红石模块](../item/module_redstone.md))。
11 changes: 11 additions & 0 deletions assets/tis3d/doc/zh_cn/block/controller.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# 控制器

![我有控制权了!](item:tis3d:controller)

控制器方块是所有TIS-3D计算机的核心。它给所有连接 的[机箱](casing.md)提供能源,并改变TIS-3D计算机的状态。控制器可 以使用普通的红石信号供电,更高的红石信号强度能提升运行速度。特别地,强度为一的红石信号将导致TIS-3D计 算机进入暂停状态,但不会因断电造成复位。

一个控制器方块最多可以支持八个[机箱](casing.md)方块。如果更多的机箱方块连接到控制器,控制器将会停止运行,直到其数量减少到八个以内。

控制器也不可以互相连接。如果有多个控制器直接或间接连接,控制器也将停止运行,直到将其和其他控制器断开连接。

机箱相邻控制器,以及机箱和相邻机箱之间都可以建立连接。
6 changes: 6 additions & 0 deletions assets/tis3d/doc/zh_cn/block/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# 方块索引

本索引列出了TIS-3D的所有方块。 如果你是来寻找物品的,请前往[物品索引](../item/index.md)。

- [控制器](controller.md)
- [机箱](casing.md)
18 changes: 18 additions & 0 deletions assets/tis3d/doc/zh_cn/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# TIS-3D 参考手册

"Tessellated Intelligence System是一个大规模并行计算机 架构,由均匀/非均匀的互联的异质节点构成。Tessellated Intelligence System对于那些需要处理复杂数据流的应用 来说十分合适,如自动金融贸易、大数据收集、以及公民行为分析。"
———— *TIS-100参考手册*

TIS-3D是个三维的TIS系统。它的目的是控制Minecraft世 界中的各种原本需要复杂红石操纵的机器和其它机制。或者说,这只是个有趣的挑战!

## 计算机详述
借助TIS-3D可构建强大的模块化计算机。该计算机包括 一台[控制器](block/controller.md)和最多八个[机箱](block/casing.md)。[机箱](block/casing.md)需要与控制器连接在 一起。注意,与[控制器](block/controller.md)的连接是可以传递的:也就是说, 若[机箱](block/casing.md)`C1`连接到了一台[控制器](block/controller.md)上,[机箱](block/casing.md)`C2`连接到了[机箱](block/casing.md)`C1`上,那么`C2`也会自动与这个[控制器](block/controller.md)相连。

计算机有且只能有一台[控制器](block/controller.md)。如果有其它[控制器](block/controller.md)直接或间接地连接,计算机就无法启动。一台计算机如果有超过八个[机箱](block/casing.md),计算机也无法启动。

给[控制器](block/controller.md)在任何面上提供红石信号以启动计算机。计算机的运行速度由红石信号强度决定。若同时为[控制器](block/controller.md)给予多个红石信号会导致未定义行为。请联系[控制器](block/controller.md)制造商以获取整套行为规范,因为提供多个红石信号的行为可能会导致保修失效。提供最小的红石信号将暂停计算机。关闭计算机将完全重置其状态。

## 模块详述
[机箱](block/casing.md)可以安装六个[模块](item/index.md),每一个都可以被放置在[机箱](block/casing.md)的侧面。每个[模块](item/index.md)有四个端口,分别为:`up`、`right`、`down`、`left`,即上右下左。这些端口可通过[模块](item/index.md)读取和 写入值来进行通信。

读写操作会阻塞程序运行。[模块](item/index.md)通常在执行读写操作时进入锁定状态,直到操作完成后才会解除锁定。*对于特定 的供应商,可能存在例外。*两个[模块](item/index.md)在同一共享端口上同时进行读取操作操作,即互相读取,会导致它们陷入死锁,进而无法工作。如果[模块](item/index.md)向一个端口写入数据,但是这个 端口上没有其他[模块](item/index.md)来接收,他也会把自己锁死。重启计算机可解决这个问题。热插拔[模块](item/index.md)在技术上是可行的,但 通常会导致不可预知的结果。
9 changes: 9 additions & 0 deletions assets/tis3d/doc/zh_cn/item/book_code.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# 编码书

![99个小BUG隐藏在代码里...](item:tis3d:book_code)

这本编码书(或者它有时被称为**代码圣经**)是TIS-3D程序 员工作时最好的朋友。相比于简陋的书与笔,使用它可以更舒适地为代码打草稿,支持更正,并且更容易发现代码中的潜在错误。

要获取编码书,只需手持一本普通的书右键点击安装于[机箱](../block/casing.md)上的[执行模块](module_execution.md)。若要在[执行模块](module_execution.md)上安装程序,首先需在编码书中选中,并对执行模块使用编码书。若要从[执行模块](module_execution.md)复制现有的程序到代码书中,只需潜行对着[执行模块](module_execution.md)使用编码书即可。

默认情况下,编码书上的每一页都有单独的一个程序。在给[执行模块](module_execution.md)写入程序的时候,只有当前页的内容会被写入。但是当这一页的最后一行是预处理宏`#BWTM`时,程序内容将延续到下一页。这使得你可以使用多页编写同一个程序。在给[执行模块](module_execution.md)写入程序时,整个多页程序将被一次性写入模块中。
7 changes: 7 additions & 0 deletions assets/tis3d/doc/zh_cn/item/book_manual.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# TIS-3D 参考手册

![黑白色](item:tis3d:book_manual)

你现在正在阅读的便是TIS-3D参考手册。本手册详细讲 述了TIS-3D计算机各个零件的信息、使用限制、以及将 它们组合在一起的方法。

所有基本规格都应在文档中给出,如有遗漏,一般是由于特别要求,以满足供应商的特定需求。
25 changes: 25 additions & 0 deletions assets/tis3d/doc/zh_cn/item/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# 物品索引

本索引列出了TIS-3D的所有物品。 如果你是来找方块的,请前往[方块索引](../block/index.md)。

## 模块
- [音频模块](module_audio.md)
- [捆绑红石模块](module_bundled_redstone.md)
- [显示模块](module_display.md)
- [执行模块](module_execution.md)
- [红外模块](module_infrared.md)
- [键盘模块](module_keypad.md)
- [队列模块](module_queue.md)
- [随机模块](module_random.md)
- [RAM模块](module_random_access_memory.md)
- [ROM模块](module_read_only_memory.md)
- [红石模块](module_redstone.md)
- [串口模块](module_serial_port.md)
- [栈模块](module_stack.md)
- [终端模块](module_terminal.md)
- [记时器模块](module_timer.md)

## 实用工具
- [钥匙](key.md)
- [TIS-3D 参考手册](book_manual.md)
- [编码书](book_code.md)
15 changes: 15 additions & 0 deletions assets/tis3d/doc/zh_cn/item/key.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# 钥匙

![周围有骷髅吗?](item:tis3d:key)

钥匙可以很方便地锁定[机箱](../block/casing.md)配置,以防止各种意外或恶意操作,诸如错误安装机箱或模块等。

本钥匙使用了一种先进的指纹验证技术,它可为每个方块产生一个唯一的签名。

用钥匙锁定[机箱](../block/casing.md)后,模块不能拆除或安装,大多数模块也不能更改配置。执行模块将不能被更改(内部还是可以工作),然而,键盘模块依然允许用户输入。

务必保管好钥匙。一旦钥匙遗失,只有强行破坏方块并重构方可解锁。

在潜行时,钥匙还可以用来打开/关闭[机箱](../block/casing.md)任意面的任意端口。查看[机箱](../block/casing.md)的手册页面以获得更多信息。

*注:被骷髅钥匙锁定的机箱不能被普通钥匙解锁。*
15 changes: 15 additions & 0 deletions assets/tis3d/doc/zh_cn/item/module_audio.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# 音频模块

![蜂鸣](item:tis3d:module_audio)

音频模块基于数字信号,对声音进行合成。其所发出的声音由输入到模块的值决定,定义见下文。若音量定义为0,该信号将被丢弃。

音频模块连续地从四个端口中的任意一个读取出数值,并基于所读取的值发出声音。这种高效的编码模式使得这个模块可以更轻松地进行交互。

## 技术规范
由音频模块接收的每个值被解释为一个组:乐器、音量和音高。详细数据如下:
- `0xFF00` 包含音调。
- `0x00F0` 包含音量,支持[0,5]。
- `0x000F` 包含乐器,支持{0,1,2,3,4}中的一个。

在将各个参数合成为一个参数时,[执行模块](module_execution.md)的位操作已经被证明十分有用。
16 changes: 16 additions & 0 deletions assets/tis3d/doc/zh_cn/item/module_bundled_redstone.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# 捆绑红石模块

![16合1](item:tis3d:module_bundled_redstone)

捆绑红石模块用于实现TIS-3D与各厂商生产的捆绑红石 线缆的相互通信。它**仅能**与捆绑电缆连接。针对各种常规的绝缘红石线缆,请参阅常规[红石模块](module_redstone.md)获取更多信息。由于接口有多个频道,捆绑红石模块需要一个更高级的协议。就像普通的[红石模块](module_redstone.md)它允许读取和发送信号。注意,捆绑红石模块将不执行任何信号处理。非法值会导致未定义行为。请查阅您捆绑电缆供应商的技术规范以确定合法数值。

捆绑红石模块有一个活动频道的概念。这决定了模块从哪个频道读取数值。活动频道可以通过提供特定格式的数据来改变(请查阅**技术规范**)。该模块从他的四个输入端口读取参数,解码之后会将给定的信号强度输出到给定的频道(请查阅**技术规范**)。

## 技术规范
捆绑红石模块从端口读取的值被解释为两个单独的值,一个在高位字节( `0xFF00`)另一个在低位字节( `0x00FF`)。高位字节通常代表着将写入的频道。作为唯一的例外,如果高位字节等于`0xFF`低字节包含的数据将用以设置活动频道。换句话说,设置活动频道,也就是读取数据的频道时,高位字节必须包含`0xFF`,而低位字节则是将被激活的 频道编号。

这个例子展示了如何设置执行模块左侧的捆绑红石模块,使其激活6频道:
`MOV 0XFF ACC`
`SHL 8 # HI = 0xFF`
`ADD 6 # LO = 6`
`MOV ACC LEFT`
40 changes: 40 additions & 0 deletions assets/tis3d/doc/zh_cn/item/module_display.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# 显示模块

![按数字进行绘制](item:tis3d:module_display)

显示模块提供了一套高度灵活的方法,可用于在二维有色网格中以可视化方法呈现任意数据(编者注:孩子们喜欢叫他们“像素”)。通过向显示模块的任意一个端口写入一个数字序列,你可以改变这些单元的颜色。这个数字序列包含了将要填充的矩形的颜色码,位置和大小。

显示模块将从它的4个端口中不断读取数据,每五个值组成一次绘制调用。一旦一个绘制调用所需的五个数字都被接收,所描述的矩形将会被绘制到到彩色网格中。

## 绘制技术规范
显示模块收到5个值组成的序列,会被依次解释为这些绘制调用的参数:颜色、列、行、宽度和高度。网格是由28行和28列组成的正方形。颜色的值由固定的颜色表决定。
确切的颜色值可能因供应商而异,但一般颜色名称遵循这个世界的规范:
- `0`: 白色
- `1`: 橙色
- `2`: 品红
- `3`: 浅蓝
- `4`: 黄色
- `5`: 黄绿
- `6`: 粉色
- `7`: 灰色
- `8`: 银白
- `9`: 青色
- `10`: 紫色
- `11`: 蓝色
- `12`: 棕色
- `13`: 绿色
- `14`: 红色
- `15`: 黑色

提供非法的颜色和坐标会引起未定义的行为,但是由于供应商处理谨慎,总体上都会被妥善解决。

下面是一个简单的程序,可以绘制不同颜色的竖线:
`MOV 16 ACC`
`LOOP:`
`SUB 1`
`MOV ACC LEFT # COLOR`
`MOV ACC LEFT # X`
`MOV 0 LEFT # Y`
`MOV 1 LEFT # WIDTH`
`MOV 28 LEFT # HEIGHT`
`JNZ LOOP`
Loading