MrKWatkins.OakIO.ZXSpectrum 3.3.0

Prefix Reserved
dotnet add package MrKWatkins.OakIO.ZXSpectrum --version 3.3.0
                    
NuGet\Install-Package MrKWatkins.OakIO.ZXSpectrum -Version 3.3.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MrKWatkins.OakIO.ZXSpectrum" Version="3.3.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MrKWatkins.OakIO.ZXSpectrum" Version="3.3.0" />
                    
Directory.Packages.props
<PackageReference Include="MrKWatkins.OakIO.ZXSpectrum" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MrKWatkins.OakIO.ZXSpectrum --version 3.3.0
                    
#r "nuget: MrKWatkins.OakIO.ZXSpectrum, 3.3.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MrKWatkins.OakIO.ZXSpectrum@3.3.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MrKWatkins.OakIO.ZXSpectrum&version=3.3.0
                    
Install as a Cake Addin
#tool nuget:?package=MrKWatkins.OakIO.ZXSpectrum&version=3.3.0
                    
Install as a Cake Tool

OakIO

Build Status NuGet Version NuGet Downloads

A C# library for reading, writing, and converting between various emulator data formats.

Overview

OakIO provides a structured object model for working with emulator and resource file formats. It supports reading and writing files, synchronously or asynchronously, with optional compression. Once loaded their contents can be inspected and they can be converted to other formats.

Installation

dotnet add package MrKWatkins.OakIO

ZX Spectrum formats are in MrKWatkins.OakIO.ZXSpectrum. ZX Spectrum Next formats, including NEX snapshots, are in MrKWatkins.OakIO.ZXSpectrumNext, which references the ZX Spectrum package.

Documentation

Full documentation can be found at https://mrkwatkins.github.io/OakIO/.

Online Converter

An online converter using this library is available at https://mrkwatkins.github.io/OakIO/converter/.

Use of AI

My general rule is I'll write the interesting bits and use AI for the boring bits. I wrote the bulk of the code as part of my OakEmu project before forking it out into its own project. I have used AI to add in a few formats (SNA and NEX), some of the converters, setup for the online converter, and help with documentation and unit tests.

Licencing

The project is licensed under GPL v3.0.

The ZX Spectrum file format tests use some files found in the wild:

If I've made a mistake with the above, please let me know.

Building and documentation

Build and Test runs on pushes and pull requests. Release runs the same validation and can publish packages, documentation, or both. Leave the version blank for the next minor version, or enter an explicit stable version. Both publication options default to true. To update only documentation, turn publish-packages off and leave publish-docs on. The API reference then uses the latest released source; api-ref can select corrected XML comments from another commit.

Handwritten documentation is in docs/content, with navigation and API inputs in docs/site.json. Run python3 docs/preview.py with Docker, Node and the .NET 10 SDK installed, or select Preview documentation in a JetBrains IDE. Open http://localhost:5173/OakIO/.

The shared build calls scripts/prepare.py to prepare the WASM workload, test and build the React converter, and stage its runtime and documentation assets. The converter remains available on its documentation page; conversion runs entirely in the browser. Generated files stay under ignored artifacts, web/dist and web/dotnet folders. For standalone web development, run npm run serve from web.

Configure NuGet trusted publishing for repository OakIO, workflow release.yml, environment github-pages, owner MrKWatkins and the OakIO packages. Set GitHub Pages to GitHub Actions, and allow main to deploy to the github-pages environment. No stored NuGet API key is required.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (9)

Showing the top 5 NuGet packages that depend on MrKWatkins.OakIO.ZXSpectrum:

Package Downloads
MrKWatkins.OakAsm.IO.ZXSpectrum

ZX Spectrum output formats for the OakAsm project: convert assembled output to tape files.

MrKWatkins.EmulatorTestSuites.Z80

Package Description

MrKWatkins.EmulatorTestSuites.ZXSpectrum

Package Description

MrKWatkins.OakIO.ZXSpectrumNext

Package Description

MrKWatkins.OakEmu.Machines.ZXSpectrum

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.3.0 43 11/10/2026
3.2.0 139 10/26/2026
3.1.1 225 10/21/2026
3.1.0 102 10/21/2026
3.0.2 186 10/11/2026
3.0.1 168 10/4/2026
3.0.0 125 10/4/2026
2.1.0 292 8/5/2026
2.0.1 532 7/6/2026
2.0.0 154 7/6/2026
1.0.4 780 3/8/2026
1.0.3 133 3/8/2026
1.0.2 146 2/28/2026
1.0.1 144 2/28/2026
1.0.0 133 2/28/2026