Skip to content

EngstromJimmy/ZXSpectrum

Repository files navigation

ZXSpectrum emulator written in C#

In this repo

In this repo, you will find:

  • ZX Spectrum emulator written in C#.
  • Blazor implementation of the emulator

Sponsors

Thanks you to much to my sponsors!

Telerik UI for Blazor – Increase productivity and cut cost in half! Use the Telerik truly native Blazor UI components and high-performing grid to cover any app scenario. Give it a try for free.

Background

When I was 7 years old I got my first computer, a ZX Spectrum.
I remember that I sat down, booted it up, and wrote:

10 PRINT "Jimmy"
20 GOTO 10

This was MY code!, I made the computer do things. That was the moment I decided I wanted to become a developer. You can find it here on Github (Firstapp.z80).

After becoming a developer I wanted to see if I could make an emulator written in C#. This has become my test project, the thing I try out all new technologies with. If you ever see me present, chances are that I will mention the ZX Spectrum.

The naming of the project might seem strange, I originally developed the emulator for Xbox so ZXBox made sense at the time.
I have chosen to keep the name think of is as a ZX(Spectrum) in an other box =).

I did a talk about Blazor at Microsoft Ignite 2019 where I demoed my ZX Spectrum emulator running on Blazor WebAssembly. After doing a talk on Blazor and Blutooth at Live Coders Conf, I got a lot of comments on my ZX Spectrum so I decided to publish it =)
You can find the Blazor implementation here http://zxbox.com .
I got a lot of amazing feedback and many wanted to see the code so I decided to share that as well.

There are still things left to do for example implementing sound (for Blazor) and support for more file formats.

It supports SNA and Z80-formats and you can connect an XBox gamepad to emulate Kempston Joystick.

Thanks to

Jessica Engström - For loving me and letting me have a storage room filled with old computers =D
Mikael Engström - For teaching me how to program
Mats Sjöblom - For explaining some of the internals in the ZX Spectrum
Rodnay Zaks - For writing the book I used to implement all the Z80 Assembler instructions.

Projects https://github.com/jsakamoto/Toolbelt.Blazor.Gamepad

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages