На главную
--------------------------------------------------------------------------------
nedoPC.org



--------------------------------------------------------------------------------




--------------------------------------------------------------------------------
Программное обеспечение • Re: Robot Warfare 1 (RW1) --> Robotic Wapenshaw 2D (RW2D)


В процессе бесед с Google AI Gemini Pro возникла идея возродить бои роботов в блокчейне Realms, чтобы сделать их по настоящему децентрализованными :mrgreen:

Statistics: Posted by Shaos — 27 Jun 2026 18:24



--------------------------------------------------------------------------------
Specialist • Re: Подключение AY-3-8910.


В 8 регистре AY три старших разряда не пишутся. Попробуй писать и читать 0 или 2 или 4 регистры, там пишутся и читаются все 8 разрядов.

Code:

mvia,0    out15hmvia,0Fhout14hin14h

Statistics: Posted by Black_Cat — 27 Jun 2026 13:54



--------------------------------------------------------------------------------
Программное обеспечение • Re: децентрализованные виртуальные миры


Наверное надо заводить свои собственные определения в рамках этой концепции, итак:

Realm - отдельная вселенная, куда помещается игрок (например "Virtburg Realm") - все файлы разрешённые в этой вселенной подписываются секретным ключом от Realm-а (и каждый узел Realm-а получает открытый ключ для проверки подписей);
Reality - виртуальная реальность в пределах Realm-a (причём реальностей может быть много и разные реальности могут переиспользовать одни и теже файлы);
Signature - цифровая подпись, подтверждающая принадлежность файла к тому или иному Realm-у (либо подтверждающая авторство сообщения), может также служить для идентификации (файла или сообщения);
Asset - файл имеющий цифровую подпись (Signature), по которой его можно найти в распределённой среде;
User - игрок, помещённый в тот или иной Realm и подключенный к той или иной реальности (Reality) - каждый User имеет свой секретный ключ, которым подписывает свои сообщения (также User передаёт свой открытый ключ всем, с кем хочет общаться);
Node - узел сети, которым может владеть User, идентифицируется его открытым ключом (узел может быть частью одного или нескольких Realm-ов);
Supernode - специализированный узел сети, которым владеет администрация Realm-a (этот узел знает закрытый ключ Realm-a и может подписывать файлы, а также умеет авторизовывать игроков);
Message - сообщения, посылаемые игроками и системой (сообщения имеют время жизни в секундах и если оно 0, то сообщение считается "вечным" и остаётся в истории);
Subject - тема, на которую может подписаться User для получения и отправки сообщений (например при заходе в сектор надо подписаться на получение сообщений из этого сектора).

P.S. Может эту концепцию так и назвать - "Realms"? :mrgreen:
Пообсуждал вот это всё с Google AI Gemini Pro и он предложил внутри Reality добавить последовательность эпох Epoch - чтобы не надо было каждый день менять реальность в Виртбурге, а можно просто менять день. Также пообсуждали, что наверное в идеале админов реалма не будет, а будет голосование всех активных пользователей - типа демократия :mrgreen:

Также немного подняли тему ротации ключей - на случай уплывания приватного ключа на сторону должна быть возможность перейти со старого публичного на новый публичный (заранее опубликованный - т.е. предполагается, что пользователь где-то в секретном месте хранит второй приватный ключ, который не украли).

P.S. Для подсчёта 3 байтов контрольной суммы для каждого 32-байтового блока Gemini предложил использовать CRC-24 из OpenPGP (RFC 4880):

Code:

#include <stdint.h>#include <stddef.h>#define CRC24_INIT 0x0B704CEL#define CRC24_POLY 0x01864CFBL/* * Calculates the RFC 4880 (OpenPGP) CRC-24 checksum. * Returns a 32-bit integer where only the lower 24 bits are used. */uint32_t calculate_crc24(const unsigned char *data, size_t len) {    uint32_t crc = CRC24_INIT;    size_t i;    int j;    for (i = 0; i < len; i++) {        crc ^= ((uint32_t)data[i]) << 16;        for (j = 0; j < 8; j++) {            crc <<= 1;            if (crc & 0x01000000L) {                crc ^= CRC24_POLY;            }        }    }    return crc & 0x00FFFFFFL; /* Mask to ensure it fits in 24 bits */}

Statistics: Posted by Shaos — 27 Jun 2026 05:31



--------------------------------------------------------------------------------
Specialist • Re: Подключение AY-3-8910.


...буфер избыточен...
Тем не менее генератор теперь запускается всегда. Без буфера раз через три. Тыкнешься щупом в ножку 8 - пошёл.
...А как ты читаешь?...

Code:

mvia,8    ;регистр громкости канала Аout15hmvia,0Fh;максимальная громкостьout14h...mvia,8    ;регистр громкости канала Аout15hin14h
...почему такие адреса?...
Специалисты так решили.

Statistics: Posted by pyzhman — 27 Jun 2026 04:06



--------------------------------------------------------------------------------
ZX Spectrum (RUS) • Игровая приставка "Эльф": Белорусская Денди


.
Я эту штуку никогда не видел, но, полагаю, кто-то из посетителей явно мог видеть, если не живьём, так на фото.
Сказал я "Эльфу": «Все вас знают,
А я так вижу в первый раз» :roll:

scale_1200.jpg

Игровая приставка "Эльф": Белорусская Денди
Видеоигровая приставка «Эльф» (или ALF TV Game) выпускалась предприятием электронной промышленности «Цветотрон», расположенным в городе Брест, что в западной части Беларуси. Кстати, завод «Цветотрон» и ныне работает, производя электронные изделия, полупроводники и светодиодное освещение. Разработана приставка была конструкторским бюро «СКБ Запад».
Нет точной информации, в каком году начали производство и когда его закрыли, но ориентируемся на первую половину 90-х: из чего следует вывод, что «Эльф» появился на рынке Беларуси примерно в то же время, что и «Денди» на рынке России, ну, может, чуть раньше. Вот только «Денди» — это почти стихийное явление, а «Эльф» разрабатывали с конца 80-х, то есть ещё во времена СССР.
Однако «Эльф» — не созданный с нуля проект. По сути, это домашний компьютер ZX-Spectrum 48 в оболочке игровой приставки.

scale_1203.jpg

Сами игры были значительно проще игр на «Денди». Оно и неудивительно, ведь портированные на картриджи проекты выходили в далёких 80-х годах. Зато абсолютно все были русифицированы, с подробным руководством и изменённым управлением, подстроенным под геймпады. Кстати, геймпады «Эльфа» — это отзеркаленные геймпады приставки Famicom и NES, где была только крестовина и одна пара кнопок. В «Денди» же, как мы помним, было уже две пары кнопок. Разве что у «Эльфа» на элементах управления нет «Select» и «Start».

scale_1200.PNG

Насчёт русификации возникали курьёзы, ведь переводчики изменили названия многих игр до неузнаваемости. Например, игру Alien 8 перевели как «Андроид»… хотя мы там действительно управляем роботом-андроидом. Bomb Jack стал «Коля-Сапёр», задача которого — летать по карте, обезвреживать бомбы и «кушать витамины» (так сказано в описании), а Maniac Miner превратился в «Шахтёр Вилли», судьба которого зовёт в шахту. :wink:
Но наибольшее удивление постигло меня в конце цитируемого материала: подробное техническое описание этой приставки есть вот здесь: https://zxbyte.org/alf.htm

«Эльф» - игровая приставка на базе ZX-Spectrum

А я весьма часто посещаю этот ресурс - у автора хорошо сгруппирована информация о многих древних ПК...
Но вот эту приставку «Эльф» я и там НИКОГДА НЕ ВИДЕЛ! :o

Statistics: Posted by Lavr — 26 Jun 2026 22:12



--------------------------------------------------------------------------------
Specialist • Re: Подключение AY-3-8910.


Буфер в генераторе на запуск никак не влияет, он просто формирует более вертикальные фронты, и ставится только если сигнал идёт на несколько входов, чтобы на них фронты были синхронны. В твоём случае вход один, и буфер избыточен.

А как ты читаешь? Пишешь адрес некоего служебного регистра, потом пишешь данные, потом сразу их читаешь? И если не изменяет склероз, в регистрах не все разряды могут записываться, и соответственно читаться из них будет не то, т.е. сличать данные в таком случае надо по маске.

И кстати почему такие адреса? Если софт драть со Спектрума, то и адреса логичнее сделать было по спектрумовски, т.е. запись адреса и чтение данных на одном адресе, а запись данных на другом.

Statistics: Posted by Black_Cat — 26 Jun 2026 13:41



--------------------------------------------------------------------------------
Specialist • Re: Подключение AY-3-8910.


Благодарю за подсказку!
Скорректировал схему:

AY8910.JPG

1. Добавил буфер в генератор для надежного запуска.
2. Нагрузочный резистор использовал существующий - перепаял с правой обкладки конденсатора на левую.
3. Ввел сигнал чтения регистра по команде in 14h.
Вот здесь засада. Читает не то, что записано. Причем это видно и на осциллограммах - на шине данных в момент /RD находится что попало, только не то, что в регистре. Причем испытано на нескольких AY. Везде по-разному, что напрягает - неужели они сами неисправны в этом плане?
Подскажите, пожалуйста, может я неверно формирую rd_14h?

Statistics: Posted by pyzhman — 26 Jun 2026 11:03



--------------------------------------------------------------------------------
Программное обеспечение • Re: Robot Warfare 1 (RW1) --> Robotic Wapenshaw 2D (RW2D)


До того как у меня появился этот форум у меня был мой собственный написанный на перле микрофорум :mrgreen:

robochat2002.png

P.S. Такой же микрофорум был по Виртбургу - все сообщения из него я уже вытащил ещё в 2015 году: viewtopic.php?t=10939

Statistics: Posted by Shaos — 25 Jun 2026 05:43



--------------------------------------------------------------------------------
Specialist • Re: Подключение AY-3-8910.


Из этой схемы просто сделать Pentagon-Scorpion ABC вариант стерео (в варианте Profi-KAY смешивание ACB):

Безымянный.PNG

Statistics: Posted by Black_Cat — 24 Jun 2026 22:23



--------------------------------------------------------------------------------
Программное обеспечение • Re: Robot Warfare 1 (RW1) --> Robotic Wapenshaw 2D (RW2D)


Через архив интернета нашёл как выглядел вебсайт англоязычной рассылки по моим роботам в 2006 году (после проведения последнего чемпионата №144):

rware-mail-list-2006.png

Statistics: Posted by Shaos — 24 Jun 2026 14:26



--------------------------------------------------------------------------------
Программное обеспечение • Re: Robot Warfare 1 (RW1) --> Robotic Wapenshaw 2D (RW2D)


Добавил оригинальный звук из 1998 года (правда в один канал т.к. играется через WinAPI PlaySound) :mrgreen:

Code:

v2.2.3 (24-JUN-2026) - Added original 8-bit sound from 1998 but only mixed in 1 channel - Removed rudiments of two-way communication with RW1_EDIT as we don't use it anymore
Выкладываю архив исходников с добавленными бинарниками rw1_win.exe и rw1_comp.exe (ниже контрольные суммы SHA256):

Code:

8d0946a52875a4ddee528d61460dbed542ffe0f3a371ff3e41f218f8d9b19256  rw2d_win.exe5936b36bc2c8b3285ec51a7f97f1a0ae0503a6d4d19b647f8a3c11f967b011aa  rw1_comp.exe

rw2d-v2.2.3.zip

Видео со звуком:


P.S. Пережал видео т.к. звуковая дорожка не во всех браузерах играла...

RW2D-2026-06-24.mp4

Statistics: Posted by Shaos — 24 Jun 2026 08:38



--------------------------------------------------------------------------------
Specialist • Re: Подключение AY-3-8910.


Он уже спаян. Не разбирать же.
Благодарю за замечание.

Statistics: Posted by pyzhman — 24 Jun 2026 04:13



--------------------------------------------------------------------------------
Specialist • Re: Подключение AY-3-8910.


Для моно такой смеситель избыточен, просто соедини все выходы вместе и подай на резистор в землю. Именно для такого соединения эмиттерные повторители и сделали.

Statistics: Posted by Black_Cat — 23 Jun 2026 22:22



--------------------------------------------------------------------------------
Specialist • Re: Подключение AY-3-8910.


И действительно, эмиттерные повторители. Вот бы знать :) Поставил нагрузочный резистор и всё запело.
Спасибо.

Statistics: Posted by pyzhman — 23 Jun 2026 11:10