Comments 134
Собственно, тоже следил за сообщениями на форуме Quarter To Three Forums и заметил ветку.
Можно добавить к статье обещаемые фичи:
Можно добавить к статье обещаемые фичи:
Hard science fiction.
Lots of engineering.
Fully working computer system.
Space battles against the AI or other players.
Abandoned ships full of loot.
Duct tape!
Seamlessly landing on planets.
Advanced economy system.
Random encounters.
Mining, trading, and looting.
Single and multi player connected via the multiverse.
+2
Добавил, а что такое Duct tape? :)
0
Мог бы отмазаться ссылочкой en.wikipedia.org/wiki/Duct_tape
Но полагаю, речь идет про en.wikipedia.org/wiki/Atmospheric_duct
Но полагаю, речь идет про en.wikipedia.org/wiki/Atmospheric_duct
0
Зная чувство юмора Нотча нельзя исключать и первое.
+3
Да почему юмор, duck tape — незаменимая вещь в любом ремонте! Видимо, надо будет в игре что-то чинить)
+11
+2
Более показательно: deviq.com/duct-tape-coder
0
Спасибо за ссылку. Есть над чем подумать.
0
Это американский аналог нашей синей изоленты — материал, которым можно починить все, что угодно :) Должно хорошо сочетаться с «Lots of engineering».
+3
По некоторым слухам, на американском луно-мобиле, чтобы уменьшить количество поднимаемой пыли, были удлинены брызговики с помощью куска карты и duct tape.
0
Duct tape — аналог изоленты, только усиленная, применялась американскими космонавтами для ремонта поглотителей CO2 и прочего. Нотч в твиттере писал, что duct tape будет применятся как универсальный ремонтный материал для косм. корабля, им можно будет починить все, но на ограниченное время.
+3
В Mojang разве не разработкой Scrolls занимаются в данный момент?
+1
И них куча проектов, можно сказать.
Джеб сейчас занят дальнейшей разработкой Minecraft, Нотч 0x10, еще они бывает что-то вместе или по отдельности небольшое напишут, Cobalt вообще с Oxeye Game Studio делали.
Да и про Scrolls давненько ничего не слышно, так что…
Джеб сейчас занят дальнейшей разработкой Minecraft, Нотч 0x10, еще они бывает что-то вместе или по отдельности небольшое напишут, Cobalt вообще с Oxeye Game Studio делали.
Да и про Scrolls давненько ничего не слышно, так что…
0
UFO just landed and posted this here
Какое чудовищное предположение, никаких близзардов, руки прочь от моего майнкрафта!
По сути — согласен, фичи в апдейтах появляются бессистемно и хаотично.
По сути — согласен, фичи в апдейтах появляются бессистемно и хаотично.
+3
теперь вы сможете написать свой майнкрафт без багов на DCPU-16
+3
Да, меня совершенно расстраивает тот факт, что один фанатский мод IndustrialCraft 2 затыкает за пояс (это еще слабо сказано) всё, что было сделано Моджангом, наверное, с момента, когда Нотч перестал в одиночку разрабатывать Майн. Один ядерный реактор чего стОит! Однако Близзард бы никогда не сделал такой игры.
0
Обалденно. Дай бог ему сил, здоровья и новых шляп.
+12
Чую открытие 0x10c Store, появление новых вакансий на рынке труда, и статей как написать хлеллоу ворлд на DCPU-16.
+2
Только-только я разобрался с построением логических схем в майнкрафте, хехе.
+4
Вполне себе нормальный CISC процессор. Не совсем логично сделаны условные переходы.
Также в нем отсутствуют прерывания и поэтому он малопригоден для применения в реалтайм сиcтемах. Но для игры подойдет.
А «Hello Notch!» уложится в десяток команд.
Скомпилировать можно в уме, но мне влом.
Также в нем отсутствуют прерывания и поэтому он малопригоден для применения в реалтайм сиcтемах. Но для игры подойдет.
А «Hello Notch!» уложится в десяток команд.
SET B, message
:loop SET A, [B]
IFE A, 0
SET PC, crash
JSR putchar
ADD B, 0x1
SET PC, loop
:crach PC, crash
:putchar
;подпрограмма вывода символа. зависит от конфигурации "компьтера"
;в данный момент написать нереально
SET PC, POP
;используем придуманные директивы предпроцессора. просто ради того,
;чтобы показать, что память надо заполнить данными
:message dw 'H','e','l','l','o',0x20,'N','o','t','c','h','!',0x0
Скомпилировать можно в уме, но мне влом.
+5
фигасе, еще на ASMе в играх я не писал.
К Майнкрафту есть плагинчик, добавляющий компьютер с возможность программировать на Lua, так с на нем получается в разы интереснее, проще, и доступнее значительно большему кругу людей.
К Майнкрафту есть плагинчик, добавляющий компьютер с возможность программировать на Lua, так с на нем получается в разы интереснее, проще, и доступнее значительно большему кругу людей.
+2
Условные переходы нормальные. Как частный случай условных команд, которые сами по себе удобнее для конвеера, чем возня с логикой управления.
Прерывания могут быть реализованы как вызовы по фиксированным адресам (вроде RST 38 для таймера в Z80). Стек есть, так что вернуться в ту же точку программы не проблема (не забыть только написать SET [--SP],O в начале, а то того и гляди испортится).
Деление у них интересное — с 16-битной дробной частью. В первый раз такое вижу :)
Прерывания могут быть реализованы как вызовы по фиксированным адресам (вроде RST 38 для таймера в Z80). Стек есть, так что вернуться в ту же точку программы не проблема (не забыть только написать SET [--SP],O в начале, а то того и гляди испортится).
Деление у них интересное — с 16-битной дробной частью. В первый раз такое вижу :)
+1
Программные прерывания не интересны. Фактически, это краткая форма вызова подпрограммы.
Интересно реагировать на внешние события. А вот внешнего прерывания нет. И лучше, если их будет несколько.
А «нелогичность» переходов в том, что можно не пропускать следующую комманду (которая в 99% будет командой перехода), а сразу прыгать на нужный адрес. Но ведь все в рукахбожьих Нотча. Как будет описан процессор — так и будут все вынуждены его программировать. Все одно процессор если и появится в железе, то будет сделан только каким либо фанатом в единичном экземпляре.
Интересно реагировать на внешние события. А вот внешнего прерывания нет. И лучше, если их будет несколько.
А «нелогичность» переходов в том, что можно не пропускать следующую комманду (которая в 99% будет командой перехода), а сразу прыгать на нужный адрес. Но ведь все в руках
0
>> которая в 99% будет командой перехода
с чего бы?
На ARM, например, условное выполнение инструкций используется очень часто.
Обычно встречается много действий наподобии if (a>b) a = b
В режиме THUMB2 в 16 битном опкоде нет места для того чтобы держать маску условного выполнения, поэтому имеется специальная инструкция IT{pattern} {condition},
которая запускает 1-3 последующих команды в зависимости от результата if {condition}.
Опять же, программно-доступный регистр PC похож на ARM.
>>Программные прерывания не интересны. Фактически, это краткая форма вызова подпрограммы.
Ээээ. Mrrl и говорил о внешних прерываниях вызывающих переход в таблицу векторов прерываний расположенных по фиксированному адресу. Какая вам нужна поддержка? Запрет прерываний? Дык это действо реализуется за 5 минут.
с чего бы?
На ARM, например, условное выполнение инструкций используется очень часто.
Обычно встречается много действий наподобии if (a>b) a = b
В режиме THUMB2 в 16 битном опкоде нет места для того чтобы держать маску условного выполнения, поэтому имеется специальная инструкция IT{pattern} {condition},
которая запускает 1-3 последующих команды в зависимости от результата if {condition}.
Опять же, программно-доступный регистр PC похож на ARM.
>>Программные прерывания не интересны. Фактически, это краткая форма вызова подпрограммы.
Ээээ. Mrrl и говорил о внешних прерываниях вызывающих переход в таблицу векторов прерываний расположенных по фиксированному адресу. Какая вам нужна поддержка? Запрет прерываний? Дык это действо реализуется за 5 минут.
+3
Мне нужны прерывания в любом виде и чем их будет больше, тем лучше. В обсуждаемом процессоре (по крайней мере в текущей спецификации) я их не нашел. Но для игры они, наверное, и не нужны будут.
А вообще интересно будет посмотреть как компьютер на данном процессоре будет общаться с «внешним» для него окружением.
А вообще интересно будет посмотреть как компьютер на данном процессоре будет общаться с «внешним» для него окружением.
0
UFO just landed and posted this here
По всей видимости, вместо прерываний будет очередь сообщений:
http://twitter.com/#!/notch/status/187448370107912192
http://twitter.com/#!/notch/status/187448370107912192
0
Вот ведь бывает!
И даже в этой простейшей программе не обошлось без бага.
И даже в этой простейшей программе не обошлось без бага.
0
>>>; подпрограмма вывода символа. зависит от конфигурации «компьтера»
>>>; в данный момент написать нереально
Пока не увидил этих комментариев, долго думал, как же вы собирались символы-то печатеть, раз Нотч не специфицировал ничего из IO.
>>>; в данный момент написать нереально
Пока не увидил этих комментариев, долго думал, как же вы собирались символы-то печатеть, раз Нотч не специфицировал ничего из IO.
0
+2
Кто-нибудь понял, что делает бит 0x80? Может быть, буква с этим битом мигает…
0
Бекграунд выставляет?
0
Нет, бэкграунд — младшие 4 бита в цвете (0x70 для серого по черному и 0xE1 для желтого по синему).
0
ну, может быть. Просто подумал, что 170 — серое, 1e1 — желтое, 2e1 — желтое на синем, 270 серое на синем… Вроди мейк сенс, не? ну, флажок бекграунда отдельно от цвета и бекграунда
0
Kaspersky 0x10 Antivirus, например
+2
Ждём LLVM-бакэнда для DCPU-16.
+5
Альфа-версия, конечно, но на простых примерах уже работает: github.com/krasin/llvm-dcpu16
0
«В космосе будут встречаться заброшенные космические корабли, нагруженные добром, возможна посадка на планеты. Будет майнинг, торговля и мародёрство.»
Я джва года хочу такую игру!
Я джва года хочу такую игру!
+16
Вот только судя по примеру, байты там 0x10-битные…
+3
Ну да, термин «байт», вообще говоря, не подразумевает битность (именно поэтому в RFC используют слово «октет»).
А вот endianless всёравно подразумевает порядок байт.
А вот endianless всёравно подразумевает порядок байт.
+2
вроде байты как байты
0x10 бит — слово, память 0x10000 слов или 64 кбайт
0x10 бит — слово, память 0x10000 слов или 64 кбайт
0
Если бы были 8-битные байты, то 0x0000 0000 0000 0001 превратился бы в 0x0100 0000 0000 0000, и люди проспали бы еще в 0x100 раз больше.
0
Да, если присмотреться, Нотч нигде не упоминает слово байт. Так что то, что он называет word, можно считать байтом из определения понятия Little endian. Не удивительно, что при проектировании корабля возникла путаница.
0
Тогда бы не было игры. Потому как к этому времени галактика точно бы превратилась бы в одну большую черную дыру.
0
Нотчу опять пришла крутая идея, игра хоть и не будет такой популярной как Майн, зато, возможно, даже более горячо любимой игроками.
Жду.
Жду.
+1
А графика как в майнкрафте?
0
Система команд очень напоминает старую добрую PDP11/70 — только порядок бит развернут (управляющая четверка в младших, а не в старших). И вместо условных переходов придумали новомодные условные команды.
0
У меня была почти 1 в 1 идея, я даже уже взялся делать её в jmonkeyengine.
0
>где космическая раса не имеет границ
скорее переводится как «где космическая гонка не кончалась» ( в оригинале «where the space race never ended» )
скорее переводится как «где космическая гонка не кончалась» ( в оригинале «where the space race never ended» )
+8
Она не твёрдая, а «жёсткая». Горе-переводчик, блин.
-1
Жесткое это порно. А фантастика — твердая.
+11
Справедливости ради, перевод hard sf как «твёрдая НФ» вполне употребим (и куда более популярен, чем «жёсткая НФ»), хоть и не совсем корректен. Вот «где космическая раса не имеет границ» — это, действительно, позор редкостный.
+5
Тогда уж суровая
0
Труъ. В такое и пошпилить не грех.
+2
Что бы Нотч не делал все равно получается minecraft =)
+6
EVE-Online как бы говорит:
— Okay…
— Okay…
+5
В названии, как представляется, отражён именно прикол с порядком бит:
0x010C
--> 0xC001
--> «cool». 0
Хм.Интересно будет посмотреть на такую игру! Т.к. она MMO то вскоре найдуться различные сеньор разрабочики на Си, которые будут насиловать и грабить разных быдлокодеров:)
+2
Все идет к тому, что лет через пять Нотч будет делать матрицу. В майнкрафте протестил земное взаимодействие, сейчас протестит космическое + социальное. А там, глядишь, и железо подоспеет…
+4
Матрица. На джаве. Ага.
+1
Не сечешь фишку. Суть 0х10 — заставить гиков бесплатно переписать движок с жабы на ассемблер. Только никому ни слова!
0
Главное, чтобы Oracle патентами не задавили, а то они это любят.
0
Движок Java?
0
Удивительно, что еще никто не запостил: github.com/swetland/dcpu16
Я, пожалуй, поверх этого ассемблера реализую Forth =)
Я, пожалуй, поверх этого ассемблера реализую Forth =)
+3
Кстати да, FORTH там должен хорошо смотреться. Уж не хуже чем на i8080.
0
Ну, FORTH и до i8080 неплохо смотрелся. Если не ошибаюсь, работа над языком начиналась в 50-е — 60-е годы. Тогдашние процессоры по набору инструкций не слишком отличались от нашего нового dcpu16. Да и памяти было, наверное, даже меньше.
0
Можно. Но зачем? Разве ассемблер не удобнее?
0
Ну как сказать… Во-первых, мне нравится форт, как язык, во-вторых, по-моему, его проще отлаживать, в-третьих, для форта уже существует огромная кодовая база. Ну и вообще, его использует AAS — как раз в космическую тему :)
Пока упёрся в отсутствие ввода-вывода. Думаю, что в итоге IO будет через DMA — где-нибудь в первых 256 байтах будут адреса портов, с ними и будем общаться…
Пока упёрся в отсутствие ввода-вывода. Думаю, что в итоге IO будет через DMA — где-нибудь в первых 256 байтах будут адреса портов, с ними и будем общаться…
0
Уж точно не в первых. Экран у них начинается с 0x8000, размер его — не более 0x10*0x20, сверху стек… Наверняка порты окажутся где-нибудь после экрана. Интересно, будет ли 2D-ввод :) Вообще все интересно.
0
Ну, в принципе, следуя традициям, в первых адресах можно было бы расположить какие-нибудь системные вызовы. Впрочем, на форуме поговаривают, что прерываний вообще не будет, так что, может быть всё, что угодно. Подождём следующих версий спецификации.
А откуда информация про экран?
А откуда информация про экран?
0
С картинки, приведенной немного выше. Но и она может быть идеей автора очередного эмулятора. Про то, что прерываний не будет, написано здесь: twitter.com/#!/notch/status/187448370107912192
0
Учитывая, что нет прерываний, можно в качестве Forth-овского PC использовать регистр SP (чтобы SET PC,POP из каждой команды сразу переключал на следующую). Получится красиво, и в коде никто не разберется :)
0
Интересно, какую графику он возьмет за основу?
0
Маинкрафтовскую.Возможно, чуть улучшит.Наверняка, вскоре найдутся люди, которые будут писать код для игры за деньги)
+1
Что-то вроде: пишу автоматическую систему наведения лазерных орудий под ключ"
+1
Отсутствие закладок гарантирую :)
+1
Вот это процессор… он имеет что-либо общее с современными системами? Будет ли практическая польза от такого программирования?
0
Его сейчас где-нибудь используют?
0
Сложно судить, я современных архитектур толком не знаю, более-менее знаком только с i8080 и i8086. Но почему-то когда читал описание системы команд, в голове возникло слово RISC (ни один RISC процессор не изучал даже азы, только теоретические описания на глаза попадались).
0
Интересно сравнить первоапрельский сайт marseffect.net/ и текущий 0x10c.com/.
Занятно, что из списка фич пропали две:
* A game ending that makes sense.
* Waist high walls.
Занятно, что из списка фич пропали две:
* A game ending that makes sense.
* Waist high walls.
0
Платформа для игры Инженерный Калькулятор в режиме Hex =)
0
Жанр игры — твёрдая научная фантастика с основой на прочный теоретический базис.
В наше время, твёрдая научная фантастика — это technological singularity.
Какими бы романтичными не казалась космические приключения, но с реальностью они имеют всё меньше и меньше общего. Скорее, Нотч хочет сделать не современную твёрдую НФ, а винтажную твёрдую НФ.
+2
Вот небольшой список проектов по разработке эмуляторов и [диз]ассемблеров для DCPU-16.
C:
github.com/swetland/dcpu16/
github.com/abentzen/dcpu-simplec
github.com/discoloda/dcpu-16
github.com/noname22/dtools
github.com/sfackler/0x10cStuff
C++:
www.redpointsoftware.com.au/dcpu/
github.com/isamgray/DCPU-16-CPP
github.com/10098/dcpu16
github.com/ruediger/dcpu16
github.com/alex-somerville/0x10c-Compiler
C#:
github.com/sblom/dcpu16
github.com/jwvdiermen/DCPU-16
github.com/mblaine/DCPU-16
github.com/AustinWise/DcpuSharp
github.com/MOverhorst/DCPU-16-Emulator
github.com/nyu-zero/DCPU-16-Sharp
github.com/mmcgill/dcpu_sharp
github.com/gulbanana/quasar
CoffeeScript:
github.com/Janiczek/cfs-dcpu16
Delphi:
badsector.github.com/dcpustud/
Go:
github.com/kballard/dcpu16.go
github.com/Katharine/dcpu.go
github.com/quag/dcpu-16-tools
github.com/huin/dcpu16go
Haskell:
github.com/zhensydow/zdcpu16
github.com/amtal/0x10c
Java:
github.com/JEBailey/dcpu
github.com/RuneTekk/jDCPU-16
github.com/badlogic/dcpu-java
github.com/sticksoft/ADCPU-16Emu
github.com/leandromoreira/dcpu16
github.com/calzoneman/JDCPU
github.com/toby1984/dcpu16-assembler
github.com/aimozg/ja-dcpu
JS:
www.jonathanedgecombe.com/dcpu/
github.com/mappum/DCPU-16
github.com/AlexNisnevich/dcpu16-assembler
github.com/tscho/dcpu16-js
github.com/laCour/DCPU-16-Assemblers
github.com/leth/dcpu16
Python:
github.com/jtauber/dcpu16py
github.com/chrisforbes/dcpu-asm
short.csc.ncsu.edu/~isharacomix/stuff/0x10c.zip
github.com/rcxdude/dcpu16
github.com/ProCynic/dcpu-16
github.com/mikeboers/0x10c-toolkit
github.com/severb/0x10c-asm
Ruby:
github.com/toph/dcpu
github.com/rlane/scasm
Rust:
github.com/Jonanin/rust-dcpu16
Scala:
github.com/Nuriaion/DCPU-16-Scala
И да, близится к завершению такой проект: github.com/arbaal/llvm-dcpu16
Когда будет про 0x10c и DCPU-16 будет побольше информации, может даже напишу обзорную статью про существующий инструментарий. А пока тема сыровата (да и кармы нет).
C:
github.com/swetland/dcpu16/
github.com/abentzen/dcpu-simplec
github.com/discoloda/dcpu-16
github.com/noname22/dtools
github.com/sfackler/0x10cStuff
C++:
www.redpointsoftware.com.au/dcpu/
github.com/isamgray/DCPU-16-CPP
github.com/10098/dcpu16
github.com/ruediger/dcpu16
github.com/alex-somerville/0x10c-Compiler
C#:
github.com/sblom/dcpu16
github.com/jwvdiermen/DCPU-16
github.com/mblaine/DCPU-16
github.com/AustinWise/DcpuSharp
github.com/MOverhorst/DCPU-16-Emulator
github.com/nyu-zero/DCPU-16-Sharp
github.com/mmcgill/dcpu_sharp
github.com/gulbanana/quasar
CoffeeScript:
github.com/Janiczek/cfs-dcpu16
Delphi:
badsector.github.com/dcpustud/
Go:
github.com/kballard/dcpu16.go
github.com/Katharine/dcpu.go
github.com/quag/dcpu-16-tools
github.com/huin/dcpu16go
Haskell:
github.com/zhensydow/zdcpu16
github.com/amtal/0x10c
Java:
github.com/JEBailey/dcpu
github.com/RuneTekk/jDCPU-16
github.com/badlogic/dcpu-java
github.com/sticksoft/ADCPU-16Emu
github.com/leandromoreira/dcpu16
github.com/calzoneman/JDCPU
github.com/toby1984/dcpu16-assembler
github.com/aimozg/ja-dcpu
JS:
www.jonathanedgecombe.com/dcpu/
github.com/mappum/DCPU-16
github.com/AlexNisnevich/dcpu16-assembler
github.com/tscho/dcpu16-js
github.com/laCour/DCPU-16-Assemblers
github.com/leth/dcpu16
Python:
github.com/jtauber/dcpu16py
github.com/chrisforbes/dcpu-asm
short.csc.ncsu.edu/~isharacomix/stuff/0x10c.zip
github.com/rcxdude/dcpu16
github.com/ProCynic/dcpu-16
github.com/mikeboers/0x10c-toolkit
github.com/severb/0x10c-asm
Ruby:
github.com/toph/dcpu
github.com/rlane/scasm
Rust:
github.com/Jonanin/rust-dcpu16
Scala:
github.com/Nuriaion/DCPU-16-Scala
И да, близится к завершению такой проект: github.com/arbaal/llvm-dcpu16
Когда будет про 0x10c и DCPU-16 будет побольше информации, может даже напишу обзорную статью про существующий инструментарий. А пока тема сыровата (да и кармы нет).
+5
Ничего себе популярность! А ведь даже альфы ещё нету.
0
Ну тогда заодно ещё мой запишите :)
denull.ru/dcpu/dcpu.htm (JS)
denull.ru/dcpu/dcpu.htm (JS)
+2
Нашёл у вас багу в «IFG a, b»:
должно проверять a>b, а у вас a>=b ( 0xe: IFG a, b — performs next instruction only if a>b )
Пример неправильного кода:
SET A, 10
IFG A, 10
SET [0x8010], 0x1632
должно проверять a>b, а у вас a>=b ( 0xe: IFG a, b — performs next instruction only if a>b )
Пример неправильного кода:
SET A, 10
IFG A, 10
SET [0x8010], 0x1632
+1
Oops. Спасибо, поправил.
+1
Вижу, появился input, но что-то не нашёл официальной спецификации, что да как. Поделитесь ссылкой или описанием, как оно у вас работает?
Я так понял, оно пишет в небольшой буфер в окрестностях 0x9000
Я так понял, оно пишет в небольшой буфер в окрестностях 0x9000
0
Да, циклический буфер в 16 слов по адресу 0x9000.
Про него Нотч писал тут и тут. Пример кода:
Про него Нотч писал тут и тут. Пример кода:
; Reading characters from the keyboard
; by Markus Persson
#macro nextkey(target) {
push(i)
set i,[keypointer]
add i,0x9000
set target,[i]
ife target,0
jmp end
set [i],0
add [keypointer], 1
and [keypointer], 0xf
:end
pop(i)
}
:keypointer
dat 0
0
0
0
В качестве произношения названия игры на форуме предлагают «Trillek» (название 16-ричного числа 16^12).
0
Форуму, посвященному игре, нет еще недели, а туда уже сбежалось 3000 участников, написано больше 16384 сообщений; для процессора, про который известна только система команд (и та будет меняться), и немного про ввод/вывод, написаны уже сотни килобайт кода и готовятся компиляторы… при этом от игры есть только скриншоты с начальных этапов разработки. Половина народа мечтают, какие хорошие корабли с каким мощным управлением на DCPU-16 они сделают, остальные пытаются выяснить, как бы побыстрее научиться писать на ассемблере.
С новыми играми всегда так? Я раньше никогда не интересовался, как форумы любителей развиваются на пре-альфа стадии. А оказывается вот оно как выглядит.
С новыми играми всегда так? Я раньше никогда не интересовался, как форумы любителей развиваются на пре-альфа стадии. А оказывается вот оно как выглядит.
+1
Only those users with full accounts are able to leave comments. Log in, please.
Нотч делает космическую MMO