GithubHelp home page GithubHelp logo

mkoloberdin / zemu Goto Github PK

View Code? Open in Web Editor NEW
14.0 6.0 5.0 1.36 MB

ZX Spectrum Emulator by restorer(Sinus) & others

Home Page: http://zx.pk.ru/showthread.php?t=2480

License: MIT License

C 42.21% C++ 43.58% Shell 0.20% Objective-C 9.80% Ruby 0.26% CMake 3.95%
zx-spectrum-emulator zx-spectrum speccy z80 emulator retrocomputing

zemu's Introduction

zEmu

ZX Spectrum Emulator by:

  • restorer (ex Sinus) - emulator idea and most of code
  • mastermind (mkoloberdin) - a lot of work to speedup emulation, migration to CMake, additional work on emulator
  • boo_boo - initial cpu core (z80ex, not used anymore), extracting WD1793 and YM/AY emulation from Unreal by SMT, kempston joystick support
  • breeze - graphics and icons, work on compilation under FreeBSD
  • Doctor Max - mouse scroll support, initial work for UTF-8 support
  • Eltaron - winmobile version (not sure what is with it now)
  • and others

Special thanks to SMT for open sourcing the Unreal spectrum emulator.

Compilation under macOS and Linux

At first install dependencies: cmake, ruby and sdl2. Obviously, you should have a C++ compiler - gcc for Linux (probably other compilers should work also, but not tested), XCode for macOS (do not forget to do xcode-select --install). Than do:

cd <into emulator directory>
./build.sh

Binary will be in the build folder.

Compilation under Windows

Sorry, that was too long ago. All I remember is that you should use MinGW.

Emulator idea (in russian)

У каждого продукта в целом и у эмуляторов в частности обязательно есть какая-нибудь идея.

Эмулировать, например, побольше различного оборудования. Или сделать наиболее user-friendly интерфейс. Или сделать рендерер, который рендерит максимально похоже на оригинальный спектрум. У каждого подхода находится своя целевая аудитория (именно по-этому считаю абсолютно бессмысленными споры на тему "эмулятор A круче эмулятора B потому что а эмуляторе A рендерер со сглаживанием, а в B - квадратиками").

Цель ZEmu - проэмулировать Pentagon. Это всё потому, что в детстве у меня был компьютер Байт, а я очень мечтал о пентагоне. Теперь я хоть и в эмуляторе, но реализовываю свою мечту.

А почему я так хотел пентагон? Да чтобы смотреть демки. Именно по-этому, все мало относящиеся к работе демок (сверхточная эмуляция ВГ или поддержка разных форматов ленты) идёт лесом.

Спасибо за внимание.

Product support

The product has already been completed, but some refactoring is doing right now (as of 2019), and who knows...

Feature Support status
New features No
Non-critical bugfixes Maybe
Critical bugfixes Yes, but it depends...
Pull requests Accepted (after review)
Issues Monitored, but if you want to change something - submit a pull request
Suport of existing platforms (Windows, Linux, macOS) At the moment emulator is tested only on macOS, however it should work on other platforms (I hope)
Support of new platforms At the moment only via pull requests, but who knows...
Estimated end-of-life Up to 2019

zemu's People

Contributors

mkoloberdin avatar restorer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

zemu's Issues

Improvements

Cpu:

  • Get rid of tmp_byte and tmp_world when possible, and use simple variables instead. Maybe it will speed up cpu a little. But profile first.
  • More precise work with tstate for reading and writing memory (also for reading from port), just like it is already done for ptr_out. This will allow us to support emulation of slow memory.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.