Как стать автором
Обновить

Комментарии 18

как происходит доставка конечного бинарника на Playdate, у них есть какой-то собственный стор или только локальная установка? интересен момент именно шаринга между юзерами

как происходит доставка конечного бинарника на Playdate

можно по проводу через симулятор либо через официальный сайт

у них есть какой-то собственный стор или только локальная установка

у них есть свой собственный стор (который называется "каталог").

Elite с ZX-Spectrum чудно смотрелось бы на этой приставке.

Ударения не хватает :)

С ArrayImpl немного не так должно быть.

В этом был бы смысл, если бы Array был доступен пользователю в виде struct Array { ..... struct ArrayImpl *pimpl; }

Так бы мы приватные внутренности прятали внутри этой структуры. А тут вся структура Array приватная.

Вот-вот: https://habr.com/ru/articles/753272/

// array.h
extern PlaydateAPI *api;
typedef struct Array Array;
void ArrayClear(Array *array);

// array.c
struct Array {
    void *data;
    int capacity;
    int size;
    // int itemSize;
};

void ArrayClear(Array *array) {
    void *data = array->data;
    if (data) {
        api->system->realloc(data, 0);
        array->capacity = 0;
        array->size = 0;
    }
}

А где вы брали консоль? Она ж у авторов 200$ стоит (уже не говоря про доставку) и на Али 700$ (тоже без доставки)

я брал подержанную на ebay когда был в Майами в прошлом году за 220$ или 250$ - уже не помню точно. За два дня доставили

Интересно, откуда такая цена сумасшедшая? Да там себестоимость на уровне кнопочной звонилки будет. По сути примитивнейшая борда с дешёвым arm-процом, экранчик, и пластиковый корпус с парой кнопок. Такое вообще по 10$ должно продаваться

Вчера мне ютуб порекомендовал видео, где якобы на $10 калькуляторе Doom Eternal запустили. Калькулятор на Андроиде.

С одной стороны интересное устройство, даже руки иной раз чешутся попробовать. Но, блин, почему не 4 кнопки действия? В чем была сложность из добавить? Чисто упор на гиммик в лице ручки? Но это удобно как дополнение, а 4 кнопки бы позволило добавить более комплексные игры. Ех...

На первый взгляд можно подумать «ну и кто в такое играет?». Однако я щас без преувеличений скажу, что уже для Playdate сделано более 800 игр. То есть, в отличие от миллиона неизвестных консолей, которые сегодня создаются для тех, кто вспоминает детство за сегой и дэнди, пардон, нинтендой, у Playdate реально есть активное сообщество.

ну никто спорить не станет, что люди могут объединиться в любом порыве и творить разное. Но это совсем не обязательно какой-то разумный порыв.

Приставка просто неинтересна по двум основным параметрам - цена и управление.

Подскажите, а как у неё устроено разделение памяти и загрузка игр? В официальной документации этот момент не затронут - вроде как знать это прикладным разработчикам не нужно

У неё ведь "основной процессор" (на котором крутится игра) не имеет MMU? Что мешает игре окирпичить всё устройство?

Крутая статья, спасибо. Обычно страшно кринжую, когда авторы пытаются в неформальный слог, но у вас получилось иначе. Ну ты понел.

рахмет

Ещё: может, вместо того, чтобы таскать десятки указателей, не проще сделать один статический указатель на playdate->system->realloc и инициализировать его в kEventInit?

// main.c
PlaydateAPI *api = NULL;
Game *game = NULL;

int eventHandler(PlaydateAPI *playdate, …) {
    switch (event) {
        case kEventInit:
            api = playdate;
            // …

// array.h
extern PlaydateAPI *api;
void ArrayClear(Array *array);

// array.c
void ArrayClear(Array *array) {
    // …
    vpid *data = arrayImpl->data;
    if (data) {
        api->system->realloc(data, 0);
        arrayImpl->capacity = 0;
        arrayImpl->size = 0;
    }
}
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории