Nescube- эмулятор безумно популярной в 90-х игровой консоли Nintendo Entertainment System (NES, более известной на просторах СНГ под торговой маркой Dendy) для мобильных устройств (телефонов, смартфонов) с поддержкой Java 2 ME (CLDC-1.0, MIDP-2.0). Для его работы необходимо устройство (далее просто телефон) с достаточно быстрым и мощным процессором.
Эмулятор реализует работу следующих узлов консоли NES:
- центральный процессор CPU 6502 (с незначительными упрощениями в пользу скорости эмуляции);
- видеопроцессор PPU 2C02 (тайминги NTSC, размеры кадра - 256x224 или 256x240);
- звуковой сопроцессор APU 2A03 (очень упрощенная реализация через APU to MIDI transfer);
- подсистема памяти (RAM + SRAM + VRAM + CHR-ROM + PRG-ROM);
- мапперы 0, 1, 2, 3, 4, 6, 7, 8, 11, 15;
- джойстик 1 с поддержкой клавиш Turbo AB.
Основные характеристики и особенности реализации эмулятора:
- четыре видеорежима: Scale LQ, Scale HQ, Dynamic, Static;
- полноэкранный режим Scale LQ и Scale HQ c нарушением пропорции картинки;
- поворот картинки по/против часовой стрелки;
- сменные цветовые палитры;
- возможность изменения яркости и цветности картинки;
- настраиваемая информационная строка - OSD;
- отображение FPS (количества виртуальных кадров за секунду);
- возможность пропуска кадров (Skip frames);
- ряд технологий, управляющих совместимостью/скоростью эмуляции;
- включение/отключение отдельных каналов APU;
- отображение информации об загруженном игровом картридже;
- отображение информации об текущем состоянии java-системы;
- сохранение/восстановление игрового состояния;
- технология непрерывной игры (технология Unceasing play);
- возможность индивидуальной настройки эмуляции для каждой игры;
- возможность переопределения управляющих клавиш;
- возможность минимизации (сворачивания) приложения;
- удобный и крассивый интерфейс;
Nescube написан на J2ME под профиль MIDP-2.0 с применением жесточайшего процедурного программирования, что и позволило выжать максимум быстродействия из Java-подсистемы телефона. В коде используются только стандартные классы профиля, следовательно, эмулятор не заточен под конкретные модели телефонов, бережно расходует память и может работать практически на всех современных телефонах.
Сайт проекта - http://rsm.pud.ru, on-line документация на русском - http://rsm-files.narod.ru/nescube/documentation.html