- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
#include "memory.h"
#include "core.h"
#include "start.h"
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("Halo Virtual Machine version 0.01\n");
initCore(&proc, ram);
run(&proc);
return 0;
}
P.S.: А ты долго думал. Наверное занят был...
Для примера, llvm и clang написаны в подобном стиле. Так что же, llvm и clang - говно, а его разработчики - говнокодеры? Нет конечно.
Каждый пишет в удобном ему стиле, главное не отходить от него в пределах одного проекта.
Кто вбил в ваши головы такие принципы?
У меня в голове не укладывается даже фраза "геи это говно", не говоря уже об остальном.
Геи ебутся в жопу.
В жопе говно.
---
Следовательно - геи говно.
В какой конторе ты работаешь?
Нетолерантно же. Во всякие гуглы не возьмут.
Меня максимум в детстве родители ставили в гугл
Такой большой, машину виртуальную делаешь, а таких простых вещей не знаешь. Стыдно!
КАПСОМ_ПИШУТ_МАКРОСЫ, МАКРОСЫ_ПИШУТ_КАПСОМ. Для глобалок, имхо, надо всё-таки какой-нибудь другой конвеншн, например gProc. Но мысль верная, глобалки должны отличаться от остальных переменных.
Во-вторых хоть какой-то стиль нужен, потому что у меня первая мысль "это не скомпилится, нету переменной proc и ram".
Ну я разве спорю? "Но мысль верная, глобалки должны отличаться от остальных переменных."
> макросы не всегда пишут капсом
> иногда макросы делают вид что они функции
И это очень плохо, и должно быть очень, очень, очень редкой и исключительной ситуацией, особенно в крестах... И так уже всяких errno и assert'ов понаплодили без капса, не надо ещё добавлять... Потому что это не "берегите руки, когда вызываете этот макрос", а "берегите жопу, если случайно объявите что-то с таким же именем".
Принцип наименьшего удивления
Целиком оно выглядит так.
А во-вторых, глобальные переменные не всегда пишут не "маленькими букавками".
http://govnokod.ru/10011
лучше MMIX запилите
Legacy же. Я всё детство мечтал на чём-нибудь запустить эти проги из журнала... Вот где-то классе в 11, когда доступ к ПеКа появился, и нахуярил этот эмулятор.
нужен bios, нужен таймер, нужен контроллер клавиатуры, и иначе как на нем игрушки запускать?
Да 8080 это ж вообще восьмибитная лампота... Какие операционки, там BIOS'а то толком не было...
А с шахматами там чит вышел - у них и в оригинале была морда на бейсике, которая писала в память ходы. А на асме была только расчётная часть, которая к железу вообще не лезла. Поэтому и хватило только эмуляции процессора.
> без обвязки эмулировать бессмысленно
Ну да, весь остальной софт на этом эмуляторе не пойдёт ;(
Кстати! Я не знаю архитектуру z80, но говорят что она крайне проста. вот её может и имело бы смысл написать, и получить сразу миллион суперских игр
Дык всяко уже есть эмуляторы.
Там, скорее всего, вся сложность эмуляции упирается в тайминги. В старых прогах же любили делать задержки под фиксированную частоту и т.п. А в игрушках того времени - сам бог велел.
> крайне проста
Проще, наверное, только 6502, который у NES был.
Фиксилось, кстати, заменой WORD'а на DWORD в функции расчёта задержек.
А еще я помню как лодранер у меня заканчивался за секунду на 166м.
А еще гоблииины первые спрашивали какой у меня проц: 386 или 486 и показывали анимацию с такой вот скоростью