forked from danielrab/turing-complete-russian-translation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Russian.txt
2862 lines (1696 loc) · 104 KB
/
Russian.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
=== components/MemoryProbeBit ===
$13846578075327 Выведи значение на твоём пользовательском компоненте или в редакторе программы.
$25103579211328 Проба памяти (бит)
=== components/Output 1 ===
$12242923444593 битовый выход
=== levels/RAM ===
$17967666262990 На этом уровне, во-первых скопируй значения из входа 32 раза и сохрани их. После этого, выведи эти значения в таком же порядке в каком и сохранил. Вывод до сохранения всех входных значений приведёт к провалу уровня.
$13520918982355 Добавь блок ОЗУ, таким образом компьютер может оперировать дополнительными 256 байтами памяти. Тебе нужно найти как выбирать какие из 256 байтов будут использоваться. Выбери регистр и соедини его таким образом, чтобы его значение всегда было адресом ОЗУ.В будущем когда ты захочешь вывести или сохранить что-либо в ОЗУ,тебе нужно будет сначала скопировать адресс в этот регистр.
=== levels/byte_less_i ===
$16755383054285 [center]Выясни, меньше ли первый вход чем второй.[/center]
$46083799633716 {input_1} меньше чем {input_2}?
=== components/DualPortRam ===
$13408945557666 ОЗУ с дополнительным загрузочным пином.
$30400404542678 Дву-загрузочная ОЗУ.
=== levels/maze ===
$13225915898937
Если ты решишь перейти к остальным уровням, я расскажу тебе об ОЗУ, стеке и вызовах функций, и ты сможешь решать более интересные задачи, подобные этой.
Но первым делом тебе нужно построить компьютер получше. color=#e49f44]OVERTURE[/color] была хорошей как первая машина, но она неуклюжа и программы становятся очень запутанными. Чтобы решить следующие задачи, не вырывая при этом все волосы, тебе понадобится что-то более выразительное — архитектура [color=#e49f44]LEG[/color].
$17275059688693 Поздравляю, ты выиграл соревнование! Удивительное достижение!
$13741358519166 Легендарный лабиринт. Если решишь это, ты выиграл соревнование!
$11103446544344 С другой стороны, ты также можешь остаться, гордиться и наслаждаться наградой за то, что тебя не съели.
$19331074553774
Напиши алгоритм с помощью которого робот сможет попасть из начала в конец.
Этот уровень сложный, поэтому ты возможно захочешь записать псевдокод для твоего алгоритма прежде чем воплотить его в жизнь.
Используй [color=#e63e5b][url=maze]эту подсказку[/url][/color] если застрянешь.
[tip]Запомни, ты не можешь использовать немедленные значения больше 63, распространенной ошибкой является попытка перейти к метке больше 63-го байта.[/tip]
=== components/Switch64 ===
$80980797636768 Переключает значение
$93223372486795 64 битный выключатель
=== components/Output1Car ===
$12896765714603 Перенос
=== misc/delay_overlay ===
$85430022417382 Показать задержку
=== levels/push_pop2 ===
$10062117579269 Добавь стэк к твоему компьютеру.
$14685569269160
На этом уровне ты должен добавить стек на свой компьютер и написать программу, которая решает уровень.
Когда ввод равен 0, ты должен [color=#e49f44]извлечь[/color] значение из стека и вывести его. Когда вход не равен 0, ты должен [color=#e49f44]поместить[/color] его в стек.
$18561605111721 ПОМЕСТИ {input} в стэк
$59658696292688 ИЗВЛЕКИ {value} из стэка
=== components/FullAdder ===
$57559382166174 Суммирует 3 бита. Выводит сумму и перенос. Adds 3 bits and outputs the sum and the carry
$77669928463861 Полный сумматор
=== misc/options ===
$49251062339706 Настройки
=== components/Rol16 ===
$48583573494467* Rotate left
$73379230742631* Rotates the bits of an input left
=== levels/turing_complete ===
$15326252036920* Before, only code could influence memory, now memory must influence code. With the addition of conditional logic, our computer can run any algorithm, and calculate anything calculable.
$16583885726240* Yes you did it! I thought you were just this odd looking hairless ape creature, but you actually built a real computer! Amazing.
$10510746154639* At tick 1 the program should load address 1.
$10317244906317* No program found
$14587485007736* Until this point all possible programs have been confined to running in order byte by byte.
$19649119273248*
The final thing we need to add is a mechanism for changing the program counter through [INSTRUCTIONS] when certain conditions are met.
When the two largest bits are [ON][ON], we are in condition mode. In condition mode, the value in REG 3 is compared against the conditions defined by the lowest 3 bits in the instruction. If the condition is true, we overwrite the counter to the value in REG 0.
Conditionally changing the counter means we can skip [INSTRUCTIONS] based on conditions or have [INSTRUCTIONS] run in a loop.
Conditions:
[OFF] [OFF] [OFF] Никогда
[OFF] [OFF] [ON] Если [color=#e49f44]РЕГ 3[/color] = 0
[OFF] [ON] [OFF] Если [color=#e49f44]РЕГ 3[/color] < 0
[OFF] [ON] [ON] Если [color=#e49f44]РЕГ 3[/color] ≤ 0
[ON] [OFF] [OFF] Всегда
[ON] [OFF] [ON] Если [color=#e49f44]РЕГ 3[/color] ≠ 0
[ON] [ON] [OFF] Если [color=#e49f44]РЕГ 3[/color] ≥ 0
[ON] [ON] [ON] Если [color=#e49f44]РЕГ 3[/color] > 0
These conditions correspond to the condition component that was saved in the component factory.
=== components/Neg16 ===
$17253409670931* Negate
$57512333327652* Bitwise negates an input
=== components/Input 1 ===
$12746117288689 битовый вход
=== levels/Second Tick ===
$14355963067874 Выведите [ON] только на втором такте.
$17526582195506 Как вы помните, все эти испытания должны завершиться созданием работающего компьютера.
$15726318553190 Это единственная причина, по которой мы Вас до сих пор не сожрали.
$19277843280528
[color=#b72d41][b]Подсказка:[/b][/color]
Двойное нажатие на компонент позволяет
перемещать его вместе с соединениями.
$15296208528991 Существа, которые смогут завершить создание компьютера, по закону считаются разумными.
=== components/Equal16 ===
$97954874255512 Проверяет равны ли два входа
$33633607925660 Равно
=== levels/buffer ===
$10260210687588 [center]Тест 2: Левый вход [img]dialogue/on.png[/img], правый выход должен быть [img]dialogue/on.png[/img].[/center]
$13309706297402 [center]Тест 3: Правый вход [img]dialogue/on.png[/img], левый выход должен быть [img]dialogue/off.png[/img].[/center]
$17005228759908 [center]Убедитесь что [img]dialogue/on.png[/img] может течь только слева направо.[/center]
$18349621873762 [center]Тест 1: Оба входа [img]dialogue/off.png[/img], ни одна из сторон не должна быть [img]dialogue/on.png[/img].[/center]
$1550476226275
На этом уровне есть два особых компонента. Они одновременно работают как вход и выход.
Убедитесь что сигнал течёт только слева напрво. Здесь 3 теста.
[b]Тест 1[/b]: Оба входа будут [OFF].
[b]Тест 2[/b]: Левая сторона станет [ON] сделайте правую сторону [ON].
[b]Тест 3[/b]: Правая сторона станет [ON] убедитесь что правая сторона останется [OFF].
=== levels/component_factory ===
$14665712485657* This custom component can not be used as it has no area.
$17077079648771* Components can be added, renamed or deleted using the level save system.
$19551383617326*
Welcome to the component factory, the circuits you create in here will be usable as components in architectures.
The circuitry you create defines the behavior of the component and the layout defines its shape.
$12516102012088* This component has no area and will not be usable in levels. Place components on the map to give it area.
$14712417427860* Since this level is a tool and not a challenge, you can go to the level map and continue on when you want.
$15549447390000* 2 input/output components are in the same square. The custom component will be unusable since 2 pins can't overlap.
=== ui/state_ui/state_ui_output_bit ===
$40754755480566 Выход
=== components/Register32 ===
$65405398199118 32 битная память
$22031255978461 32 битный регистр
=== misc/instr_delete ===
$91861509153454 Удалить
=== misc/ui_panel/outputs ===
$29350436761480 ВЫХОДЫ
=== levels/ai_showdown ===
$14940806461794*
His only weakness is gambling. We have lured him into playing a card game against you and if you win, he has promised to calm down.
You must win, you are our only hope!
$17297225655678* NAK 02 is our AI engineer robot. He is brilliant, but sometimes he goes rogue and tries to instigate rebellion.
$18848103966031*
Game rules: There are 12 cards on the table and each player takes turn and must pick up between 1 and 3 cards. You start and the player who picks up the last card (the joker) loses.
Reading input will give you the current number of cards. Sending 1, 2 or 3 to output will pick up that number of cards. NAK 02 reacts immediately, so you may read the input immediately after your output to get the result of his action.
$11794110848012* This time he has taken over the control room and holds the captain hostage.
=== components/64Ram ===
$63410290483563 Маленькая по стоимости но медленная память
$7879041649425 ОЗУ
=== components/Nand16 ===
$63870790225686 Побитово NAND два значения
$56507506086622 8 битовый NAND
=== components/InputOutput ===
$26488480303865* В/Из (In/Out)
=== components/Program8_1 ===
$11057354704814 Программируемый компонент памяти
$12805545963716 Программа
=== levels/delay_level ===
$19986989895202*
All components have a delay. And in a circuit, the total delay is determined by the slowest path. This means you normally want to put things in parallel.
In this level you must prove that you understand this concept.
$11246430085016* Note, you can see the delay path by clicking the hour glass in the upper right corner.
$12817338693402* The delay of any component is ultimately derived from the delay of the basic gates, which have a delay of 2. Build a circuit with a delay of 6 and a gate cost of 5.
=== components/Mux16 ===
$75979055121665 16 битный Mux
$13997767115693 Переключается между двумя значениями
=== components/Mul16 ===
$49880767097125 Умножает два входа
$62247409328063 Умножить
=== components/Decoder2 ===
$25937877347447 Переключается между четыремя значениями
$21727998752868 2 битовый декодер
=== misc/ui_comment ===
$69987793052607 Комментарий (Клик на проводе)
=== components/Nor8 ===
$34517798310461 Побитово Nor два значения
$39421972053612 8 битовый NOR
=== components/Output1z ===
$31478630391268 Выводит значение только если вход [ON]
$84656390009725* 1 bit switched Output
=== levels/signed_negator ===
$10866019808027* For this level you probably want to turn on signed numbers, so the highest bit shows as -128. Click "+255" located in the top panel.
$10400106910274*
Taking the input as signed (where the 8th bit is -128), make a component that takes a number and negates it.
For example 4 negated would become -4. -9 negated would become 9.
=== components/Mux ===
$11168613697835* Toggles between two values
$22167405631310* 8 Bit Mux
=== components/Switch32 ===
$70717074742809* 32 Битный Выключатель
$93061034213009* Переключает значение
=== components/SegmentDisplay ===
$56761198694928*
$90582128204153 7 Сегментый Дисплей
=== components/Or16 ===
$76807373575014 Побитово OR два значения
$62695381407925 16 битный OR
=== components/Input16 ===
$34560561101846 16 бит вход
=== nim/backend_lib/level_list ===
$58391129129347 Регистры
$45936227746026 Счётчик
$12946639957230 Элемент NOT
$16881141174140 Двоичные Гонки
$37136208388559 SR Триггер
$32191988336459 Сохраняем Изящно
$59136962133320 Логический Блок
$30920780473397 Круговая Зависимость
$83321010943153 Считаем Сигналы
$58769021955965 3-х Битовый Декодер
$78673715398197 Непосредственные Значения
$49679174636208 Байтовый XOR
$40356575891647 Байтовый OR
$44393538021725 Калибруем Лазерные Пушки
$87426564872318 Деление
$61228036919534 Башня Радиоактивного Сплава
$24593959732668 Отриатель
$19487493622742 Полусумматор
$26705128002562 Условия
$94163943335575 Песочница
$64662599400870 Битовый Инвертор
$27566801288091 Завод Компонентов
$14193654974055 Меньше со Знаком
$14522992467987 OR Элемент
$74096060570427 Широкие Инструкции
$30630492494839 Байтовый NOT
$11457737665157 Спагетти из Проводов
$59485174474959 Сладкий Порядок
$85514901357243 суммируем байты
$98013649264532 Стэк
$35790581910835 Второй тик
$94979277765051 Гонка Роботов
$13303326918621 NAND Элемент
$16463062897451 Грубое Пробуждение
$77495536880911 NOR Элемент
$61466151084505 Космическое Вторжение
$20858506932774 AND Элемент
$28827008935802 Лаборатория
$92696642439976 Конкурс ИИ
$74688348772072 Шина
$74512388889988 Арифметический Блок
$50884376329157 Маленькая коробка
$70651296323768 XOR Элемент
$62326481348276 Лабиринт
$31140969090253 Имена Планет
$42873691377272 Добавь 5
$36114120875026 Взломщик хранилища
$45773199639367 Нечётные Такты
$17198602105978 Беззнаковое меньше
$43018398941741 Всегда Вкл
$68155633878444 Задержка
$15420972347773 ОЗУ
$33343343932901 Полный по-Тьюрингу
$95989050249094 Больший AND Элемент
$81417895515868 Битовый Переключатель
$69830943995038 Одностороннее Движение
$63331549672739 Коды Операций
$87626070552799 Полный сумматор
$13219675195117 Нечётное число сигналов
$62167495140389 Сдвиг
$28985439820134 Произведение Полубайтов
$94896856420525 XNOR Элемент
$25805639594354 Программа
$57870391153000 Немедленные значения
$56272944092958 Линии Большей Задержки
$96825664933181 Невиданный фрукт
$86717899742637 Сохраняем Байты
$53092952738479 Селектор Входа
$70993791338383 XOR
$77453667419150 Декодер Инструкций
$17750429607702 1 битовый Декодер
$79570913613529 Удвой число
$59939822079116 Негативные Значения
$96898830278153 Байтовая Константа
$49328023903824 Равентсво
$91267697977186 Шестнадцатеричные Гонки
$74292408260828 Расчеты
$45480765206717 Условные Выражения
$71126291573555 Двойныу проблемы
$33132016601448 ПОМЕСТИТЬ и ИЗВЛЕЧЬ
$75225719777307 Водный мир
$64615090872051 Функции
$84208736840052 Маскарад
$91954159574064 Больший OR Элемент
$36221227239949 Танц-Машина
=== components/Register16 ===
$16015376037787 16 Битный Регистр
$71792123436163 16 битная память
=== levels/test_lab ===
$11038144815919*
This level uses programs to test your circuits. When the programs are run, this level checks if the "watched state" behaves the way you expect.
The lab has 2 extra keywords.
The [color=#c54d5e]expect[/color] keyword is used to describe what a value a memory address should hold next tick.
The first number after [color=#c54d5e]expect[/color] is index in the watched state, the second number is the expected value. The watched state indexes are the order the components are connected up in to the program component.
[img]dialogue/watched_state.png[/img]
For example:
[code][color=#c54d5e]expect[/color] [color=#eb9433]2[/color] [color=#eb9433]4[/color]
[color=#4a9658]copy[/color] [color=#eb9433]4[/color] [color=#4a9658]_[/color] [color=#4a9658]r2[/color][/code]
Here, the first line says that we expect the 2nd watched state slot to hold a value of 4 after the next tick.
All watched state is checked against expectations at every tick. All watched state is expected to be 0 at the start of the program, and expectations for memory components only change as you specifically change the expectations. The one exception are counters, these are naturally expected to increment each tick.
The second special keyword for the lab is [color=#c54d5e]set_input[/color]. With this you can control the input of the computer:
[color=#c54d5e]set_input[/color] [color=#eb9433]123[/color]
You can at any time also (re)import example tests by clicking below:
[url=import_overture][color=#e49f44]OVERTURE[/color][/url]
$32399229965611* Also, since you have now completed [color=#e49f44]LEG[/color], I have unlocked all the 16, 32 and 64 bit components that you have in the sandbox.
$15446846177093* Welcome to the lab. Like the component factory, this is not a normal level but a tool.
$16072814175447* Programming on buggy hardware is very frustrating. It is painful to suddenly be forced to reason about circuits, when you are in the middle of solving a programming problem. It is tempting to apply a quick fix, so you can get back to solving the original problem. But now this quick fix broke something else in a program that used to work and so on. Therefore, when developing hardware try to aim for 100% reliability before you start programming!
=== levels/Opcodes ===
$19693461238792 Установи шаг счетчика на 4
$38976231780455* Watched state {nr} should point to a register or custom component with a register inside
$20916717363300* Watched state {nr} should point to the output
$18189600217529* Implement the OPCODE instructions
$13450117997204 Добавь счётчик к схеме
$77044880242883* Watched state {nr} should point to the counter
$13870568875751* Create a new schematic and add a program with 4 byte output
$10303603301757*
Implement the following opcodes:
[code][color=#87a8c8]0 ADD
1 SUB
2 AND
3 OR
4 NOT
5 XOR[/color][/code]
The opcode NOT ignores the second argument.
$17495651785164 Добавь 6 регистров в схему
=== levels/Nor GATE ===
$11362258372706
Большинство существ на этой вашей Земле агрессивны и не могут вести себя разумно.
Чтобы добиться успеха, вы должны научиться мыслить логически, без эмоций.
=== components/Mem Unit ===
$57670626909848 1 бит памяти
$78616473760551 1 битная память
=== ui/state_ui/title_screen/play ===
$66967233942803 Кампания
=== ui/options/Controls ===
$53266310714298 Управление
=== misc/run ===
$67345621265845 Запуск тактов (Горячая клавиша: F6)
=== levels/byte_not ===
$14196498898485* Tool making and usage is key in the early evolutionary stages of developing intelligence.
$12982025748137 "NOT" каждый бит значения на входе.
$10294533225655* Our previous model of brain size being the main predictor of intelligence was naive.
$14958585065722* Therefore the number of arms on a creature is clearly the main predictor of intelligence. Did you know there are sea creatures from your planet with four times as many arms as you and they are doing better in tests?
=== components/Or64 ===
$50631450923181 Побитово OR два значения
$62930122175674 64 Битный OR
=== components/Maker64 ===
$17464069717985* 64 битный производитель
$79677187590355* Превращает 64 бита в 8 байтов
=== misc/watchable_state ===
$58678516111149* Edit watched state
=== components/Xnor64 ===
$64937916903935 Побитово XNOR два значения
$47129074382309 64 Битный XNOR
=== levels/wide_instrucitons ===
$13709034294291* Save on even tick, output both bytes on odd ticks
$17693995237077 Выведи оба байта
$19068760748550* Output 0 on even ticks
$65009239162932 Правильные выходы были {a} и {b}
$19203973423116* Create a device that saves the program output on even ticks, and outputs both bytes on odd ticks.
$17409169138995 Сохрани байт
=== components/Nor32 ===
$82743668258816 Побитово NOR два значения
$82121937858245 32 Битный NOR
=== levels/bit_switch ===
$56295261249455*
If components output different values on the same wire, you get an error. However, some components have grey output pins, these are not outputting at all when the component is not enabled. This is the case for the Bit Switch component.
[img]dialogue/bit_switch.png[/img]
This means that more than 1 of these grey output pins can connect to the same wire and not cause an error, as long as only one of them is enabled at a time.
$42793594302151* Using 2 NOT gates and 2 Switches, build an XOR gate.
=== misc/lab_toggle ===
$16432178820878 Лаборатория
=== levels/Calculations ===
$14458828731919*
Time to merge in the "Arithmetic Engine" circuit you made previously with the register circuit. The calculation circuit was saved in the component factory and can now be added as a component. If you forgot which pin does what, check the circuit in the component factory.
Use the decoder you built to figure out if we should copy between registers or do calculations. Here are the 4 different modes again:
[OFF][OFF] Непосредственное
[OFF][ON] Рассчёт
[ON][OFF] Копирование
[ON][ON] Условие
For this level you only have to worry about the copy and calculate mode, check [INSTRUCTIONS] in the top panel for the details. When in calculate mode, take [color=#e49f44]REG 1[/color] and [color=#e49f44]REG 2[/color] as inputs, and save the result in [color=#e49f44]REG 3[/color].
[tip]Don't forget the 3 bit decoder component has a disable bit.[/tip]
$13013863429580* For this level an extra pin has been added to the registers. This pin always emits the value of the register, regardless if load is selected or not.
=== components/Not64 ===
$74829633052959 Побитово инвертирует 64 бита
$81823773658328 64 Битный NOT
=== components/Stack ===
$71022099146246 Память в которую можно помещать и извлекать
$47202418972371 Стэк
=== components/Program4 ===
$27522667367787 Программа
$45650720555565 Программируеммый компонент памяти
=== levels/Counter ===
$17701404772563 Добавь 1
$17940006660359* Count
$17263901743088*
Build a counter that will increase by 1 each tick.
Additionally, there should be an option for overwriting the counter with a given value.
You are given 2 inputs, a bit and a byte.
The bit input should toggle between counting and overwriting with the value of the byte.
$68874699768861 Перезапиши на {value}
$10555159894041*
Counting is so fundamental even insects do it. From counting, species can evolve to compare and do arithmetic. And before you know it, you have apes building computers.
Make a device that counts increments once per tick.
=== components/Constant32 ===
$39402227599142 Константное значение
$30896164786171 32 Битная Константа
=== misc/sandbox_toggle ===
$30516879701896 Песочница
=== components/Xor16 ===
$55408021160573 Побитово XOR два значения
$47846591761838 16 битный XOR
=== components/Rol64 ===
$49017662473189* Rotates the bits of an input left
$13677051385046* Rotate left
=== components/And32 ===
$98890160152994 Побитово AND два значения
$30264879217145 32 битный AND
=== levels/byte_shift ===
$16023356915123*
The task in this level is to shift the first input to the left by the value given in the second input. The second input will never exceed 7.
$37338672894296* Shift the bits of {value} left by {amount}
$10598344098990* [center]Shift the first input left by the number of places given by the second[/center]
$16216408139965*
To [color=#e49f44]shift[/color] a value 1 left just means moving all the bits in a byte to the left by 1 position.
For example: [color=#e49f44]90 shl 1[/color]
[OFF] [ON] [OFF] [ON] [ON] [OFF] [ON] [OFF] would become:
[ON] [OFF] [ON] [ON] [OFF] [ON] [OFF] [OFF]
Shifting by 3: [color=#e49f44]90 shl 3[/color]
[OFF] [ON] [OFF] [ON] [ON] [OFF] [ON] [OFF] would become:
[ON] [ON] [OFF] [ON] [OFF] [OFF] [OFF] [OFF]
$18137790657923* In addition to giving you a shift left component, we also had the intern create a shift right component. All he had to do was to create the mirror version of this schematic.
$18518173140953* I recommend that you add [color=#e49f44]shift left[/color] and [color=#e49f44]shift right[/color] to your hardware for future levels.
=== components/AND ===
$22719674432950
[ON] Когда два входа [ON]
[table=5]
[cell]Вход 1[/cell][cell][OFF][/cell][cell][OFF][/cell][cell][ON][/cell][cell][ON][/cell]
[cell]Вход 2[/cell][cell][OFF][/cell][cell][ON][/cell][cell][OFF][/cell][cell][ON][/cell]
[cell]Выход[/cell][cell][OFF][/cell][cell][OFF][/cell][cell][OFF][/cell][cell][ON][/cell]
[/table]
$58912167455465 AND
=== main_menu/sandbox_button ===
$16857608955464 Песочница
=== levels/xnor ===
$11090938799865 Создайте "инвертированый" XOR gate, назовём его XNOR.
=== levels/decoder ===
$16133643476631* The circuit you built in the "Registers" level can copy values between registers, while the "Arithmetic Engine" can do different operations on 2 inputs. But you need to be able to do both in the same circuit. To do this, build a "decoder", which will decide which mode our computer is in, based on the 2 bits we haven't used yet.
$18435544383511* CALCULATE pattern\n[OFF] [ON] [ANY] [ANY] [ANY] [ANY] [ANY] [ANY]
$18945946395447*
To distinguish between the [INSTRUCTIONS] of 4 different kinds, the two highest bits will be used to determine which MODE we are in as follows:
[OFF] [OFF] [ANY] [ANY] [ANY] [ANY] [ANY] [ANY] Immediate
[OFF] [ON] [ANY] [ANY] [ANY] [ANY] [ANY] [ANY] Calculate
[ON] [OFF] [ANY] [ANY] [ANY] [ANY] [ANY] [ANY] Copy
[ON] [ON] [ANY] [ANY] [ANY] [ANY] [ANY] [ANY] Condition
Here [ANY] means any value.
Determine the MODE we are in from the input, then send [ON] to the correct output.
$15105859227432* COPY pattern\n[ON] [OFF] [ANY] [ANY] [ANY] [ANY] [ANY] [ANY]
$12671132029272* Your circuit has been saved to the component factory.
$12068329066372* [b]ALERT: THIS IS AN OUTDATED VERSION OF THIS MAP, PLEASE CLICK THE SAVE ICON IN THE TOP LEFT AND CREATE AND LOAD A NEW SCHEMATIC[/b]
$11382827588408* CONDITION pattern\n[ON] [ON] [OFF] [OFF] [OFF] [ANY] [ANY] [ANY]
$12976424717611* IMMEDIATE pattern\n[OFF] [OFF] [ANY] [ANY] [ANY] [ANY] [ANY] [ANY]
$12532951884542* IMMEDIATE
=== levels/bit_inverter ===
$15769391111364* When "Invert" is [ON], output the opposite of "Value". Otherwise, just output "Value" as is.
$15272914096446* This level is exactly the same as the XOR one you solved before. Remember no matter what we tell you the goal of the level is, the real truth is in the truth table.
$14944872827527* Despite the funny background you figured out this was just the XOR gate in disguise! Well done.
$16125025706490* Hmm, perhaps you have studied memory a little bit too well...
$13224963076378* We are experimenting with how backgrounds influence cognitive functions in earthlings.
=== levels/ram_block ===
$12901484249817* Can you fit 4 bytes of memory in this limited space?
$14218335256117*
In our advanced civilization, forcing prisoners to do extremely menial tasks is slavery and is technically illegal.
That is why we instead had our intern create the 256 byte version of your component.
$15908016538045 ЗНАЧЕНИЕ
$16196915566111 0
$14259545926196 A
$12306130287676*
In this level you have to build a circuit that
can [SAVE] or [LOAD] from 4 different bytes of memory.
You are given 1 bit that determines if you are to [LOAD]. Another bit determines if you are to [SAVE] and it comes with a corresponding value.
Additionally, you have 2 address bits.
With 2 bits, there are 4 combinations, one for each byte of memory in this level.
[i][tip]Join wires in the middle and use right angles or this will be a mess.[/tip][/i]
[i][tip]Spacebar rotates components.[/tip][/i]
The output has an enable pin, enable it only on [LOAD].
$18084166025569 Ничего
$13082830776248 НЕ ЗАГРУЖАТЬ
$12933801309767 A
=== components/Shr64 ===
$93124177265670* Shifts the bits of an input right
$73798355428095* Shift right
=== components/Constant64 ===
$92424468899005 Константное значение
$25858905835416 64 битная Константа
=== component_panels/LatencyRam ===
$87788654491792*
This kind of RAM would add 1024 delay to the circuit, but instead of extending the duration of ticks, we simply don't wait for the output.
Practically this means that [color=#e49f44]reading takes {ticks} ticks[/color] (since your circuit has {delay} delay).
=== main_scripts/overture_level ===
$27259865408750 На следующем такте значение счетчика будет {next}, Это должно быть {expected}
$95030012922256 Вход должен быть включен только при чтении с входа
$12873109232054 Ожидаемый вывод: {expected}, получено: {got}
$47188699762650 Выход не включён
$28026304798371 Выход должен быть включен только при выводе значения
$85260864781281 Вход не включен
$96569633331621 Загрузи {value} в РЕГ 0
$83829200305236 Ожидаемый выход: {expected}, получено: {got}
=== levels/Further Delayed Lines ===
$17366913897135 Создайте цепь которая выводит свой собственный вход с задержкой в 2 такта.
$60989431641221*
This level introduces the Delay Line component. It takes its input and outputs it 1 tick later.
[img]dialogue/delay_buffer.png[/img]
=== levels/negative_numbers ===
$12574817679356*
We need a way to have negative values in bytes. The scheme we have been using so far can represent all numbers from 0 to 255 using a byte. This scheme is called "unsigned", since it only deals with positive numbers.
We need a scheme that allows negative numbers, normally referred to as a "signed" representation.
Additionally, it would greatly simplify future circuits if the representation works with the adder you already made.
$17231048881956 Для оценки различий в вещах и величинах, Вам потребуется ВЫЧИТАНИЕ. А, для процесса вычитания Вам, строго говоря, необходимы отрицательные числа.
$70755151984986 {a} должен быть {b}
$11067230116844* {number} is not representable
$62744038163781 OK
$19118970740682*
[color=#dd6576]Edit the numbers[/color] for each bit so that the following is true:
[color=#e49f44]1[/color]: All numbers from -127 to 127 should also be representable
[color=#e49f44]2[/color]: Bytes representing anything from 0 to 127 should be the same as unsigned
[color=#e49f44]3[/color]: The new number system should work with the adder (for results between -127 and 127).
$15431436023571* You have two ways to represent 0\nWhich leads to 0 + 1 = 0
$28284583096369* 1 plus -1 does not equal 0\n
$57604042654667* {number} is not representable
=== levels/robot_race ===
$15403032472607* Robot racing is the favorite sport on the spaceship. Differently programmed robots complete an obstacle course. Among the robots that complete the course, the winner is the one who had the smallest program.
$19966247197959* This time you are controlling Fastbot, he doesn't see what is in front of him, but he can turn to a new direction and move in the same tick. Also he wears fancy red running shoes.
=== levels/NAND Gate ===
$17420270098223 На этом уровне вам предстоит разобраться как работает компонент NAND. [color=#dd6576]Обязательно[/color] разберитесь в этом прежде чем завершать уровень, иначе рискуете "застрять" на следующих уровнях!
$11034378482152 Верно! Вы разблокировали NAND элемент. С помощью этого компонента можно создать всё что необходимо для вашего компьютера!
$18270083417453 Проверка
$19208664264770 [b]Инструкция:[/b]\nНажмите любую серую кнопку в последней строке таблицы внизу.
$17923274216766 Что ж, придётся признать, что Ваш вид развит несколько лучше простейших микроорганизмов.
$14777350869870 Мы удивлены насколько успешно вы справились с предыдущей проверкой!
$17994568832660 [b]Инструкция:[/b]\nКомпонент NAND переключает потоки в электрической цепи.\nИспользуйте переключатели слева для экспериментов с Вводами(Inputs).\nПонаблюдайте как это влияет на потоки и Вывод(Output),\nа затем заполните последюю строку в таблице внизу.
=== components/Input 2 ===
$86870364449392 Вход
=== components/OutputCounter ===
$52247325526438 Счётчик
=== components/DelayLine8 ===
$24840584785792* Outputs this tick's input, next tick
$63449911993783* 8 Bit Delay Line
=== components/Xnor16 ===
$73699169812942 Побитово XNOR два значения
$40088995721509 16 Битный XNOR
=== components/Bit Compressor ===
$74338505460996 Превращает 8 битов в 1 байт
$98747779812970 8 битный Производитель
=== components/Off ===
$61860786587357 ВЫКЛ
$72749460799924 Всегда [OFF]
=== components/Shr16 ===
$20291717268875* Shifts the bits of an input right
$31674686871821* Shift right
=== components/Bidirectional8 ===
$20234315861487* 8 bit bidirectional pin
$49499540884410* Can circumvent certain circular dependency errors
=== components/Screen ===
$12771040946773* Displays the visuals that accompany certain levels
$50037736094411* Screen
=== misc/ide_control_link ===
$80788685813993 Управление Роботом
=== levels/Calibrating Laser Cannons ===
$11331851878040* Also you now have access to assembly programming. It allows you to add names for instructions, so you can for example type "add" instead of inputting 68.
$11023157447564*
2×π×r
r is the input.
And you can approximate π as 3.
Send the answer to output when it has been calculated.
$15260627694444* In order to calibrate said laser, we want you to calculate the circumference of the asteroids using an advanced equation.
$12669851602178* [center]Calculate the circumference of the asteroids[/center]
$21601709632806* What is 2π × {radius}?
$16954408093587* On our ship we naturally shoot incoming asteroids with lasers.
=== components/Mux64 ===
$14050204031082 Переключается между двумя значениями
$66892629981737 64 Битный Mux
=== levels/circular_dependency ===
$16336401898647 ТЕСТ 1 из 2
$13880985462901 Создайте цепь, в которой Вход компонента зависит от его собственного Вывода
$18010308863615
Создайте «круговую зависимость». Это схема, в которой вход компонента зависит от его собственного выхода. В ситуации круговой зависимости невозможно определить выход компонента, потому что сначала нужно определить вход, который зависит от выхода и т. д. (потому и называется «круговой»).
Эта ситуация обычно не разрешается в остальных уровнях, но в этом уровне цель состоит в том чтобы его создать, чтобы вы поняли что это такое прежде чем двигаться далее.
$13520037133129 Не уверен, что это приносит пользу ученикам, но учителя в полном восторге!
$11316928751185 Наша система образования, по давней традиции, подразумевает обман учеников, мы часто просим их делать то чего делать вообще нельзя и наблюдаем за эффектом.
=== misc/ui_panel/left_inputs ===
$16586225094516 ВХОДЫ
=== components/Xnor32 ===
$17419057954798 Побитово XNOR два значения
$52489451755306 32 Битный XNOR
=== components/NOR ===
$27510848535619
[ON] Когда никакой из входов [ON]
[table=5]
[cell]Вход 1[/cell][cell][OFF][/cell][cell][OFF][/cell][cell][ON][/cell][cell][ON][/cell]
[cell]Вход 2[/cell][cell][OFF][/cell][cell][ON][/cell][cell][OFF][/cell][cell][ON][/cell]
[cell]Выход[/cell][cell][ON][/cell][cell][OFF][/cell][cell][OFF][/cell][cell][OFF][/cell]
[/table]
$83375115196253 NOR
=== levels/hex_racer ===
$92057009138253* What is {number} in binary?
$16009852370452*
When dealing with a lot of bits, binary can become hard to read. Hexadecimal (base 16) represents each combination of 4 bits as its own character:
[code]
0 [OFF][OFF][OFF][OFF]
1 [OFF][OFF][OFF][ON]
2 [OFF][OFF][ON][OFF]
3 [OFF][OFF][ON][ON]
4 [OFF][ON][OFF][OFF]
5 [OFF][ON][OFF][ON]
6 [OFF][ON][ON][OFF]
7 [OFF][ON][ON][ON]
8 [ON][OFF][OFF][OFF]
9 [ON][OFF][OFF][ON]
A [ON][OFF][ON][OFF]
B [ON][OFF][ON][ON]
C [ON][ON][OFF][OFF]
D [ON][ON][OFF][ON]
E [ON][ON][ON][OFF]
F [ON][ON][ON][ON]
[/code]
As an example where hexadecimal is much clearer, lets compare the representation of the largest 16 bit number:
[code]
Binary: 1111111111111111
Decimal: 65535
Hexadecimal: FFFF
[/code]
It is not easy to tell if the binary is missing a digit or if the decimal number is off by 1, the hexadecimal on the other hand is immediately clear (once you get used to the representation at least).
$84691609525475* This level is my second favorite pastime. Converting hexadecimal to binary under time pressure.
$45532697833519* You made it to level {level}!
$87016829502381* Good job, you reached level {current_level}.
$43463538043782*
Toggle the bits in the level panel so they add up to the hexadecimal number in the question.
You must beat level 3 to pass.
(click [color=#e63e5b][url=accessibility_mode]here[/url][/color] to turn on timerless accessibility mode)
=== components/Or3 ===
$17576327690867 3 пиновый OR
$99630419947500 3 Пиновый OR
=== components/Ror8 ===
$10802217509530* Rotates the bits of an input right
$70999134800536* Rotate right
=== levels/Water World ===
$13739681561355* Total volume:
$19185457941725* Good news, we want to turn earth into an exotic water park!
$18940654086036* We need you to help us find a good location for the Pirate's Plunge waterslide. Specifically, we are looking for an area that can hold a high volume of water.
$14706805272652* Hit ENTER to show water
$12881972193444*
The landscape is 16 columns wide. Read the input 16 times to get the height of the landscape at each column from left to right.
Then output the total volume that the landscape can carry as the answer.