Skip to content

Latest commit

 

History

History
78 lines (60 loc) · 4.67 KB

RENDER_INPUT_AUDIO.md

File metadata and controls

78 lines (60 loc) · 4.67 KB

Highbyte.DotNet6502.Impl.* libraries

Overview

Rendering, input handling, and audio libraries

App Techniques Implementation libraries C64 Generic
Highbyte.DotNet6502.App.WASM Render: SkiaSharp.Blazor.View,OpenGL Render: Highbyte.DotNet6502.Impl.Skia x x
Input: Blazor,ASP.NET,JavaScript Input: Highbyte.DotNet6502.Impl.AspNet x x
Audio: WebAudio API, Blazor JS interop Audio: Highbyte.DotNet6502.Impl.AspNet x
Highbyte.DotNet6502.App.SilkNetNative Render: Silk.NET,OpenGL,SkiaSharp Render: Highbyte.DotNet6502.Impl.Skia x x
Render (OpenGL/shaders): Highbyte.DotNet6502.Impl.SilkNet x
Input: Silk.NET Input: Highbyte.DotNet6502.Impl.SilkNet x x
Audio: NAudio Audio: Highbyte.DotNet6502.Impl.NAudio x
Highbyte.DotNet6502.App.SadConsole Render: SadConsole Render: Highbyte.DotNet6502.Impl.SadConsole x x
Input: SadConsole Input: Highbyte.DotNet6502.Impl.SadConsole x x
Audio: NAudio Audio: Highbyte.DotNet6502.Impl.NAudio x

Library: Highbyte.DotNet6502.Impl.Skia

Highbyte.DotNet6502.Impl.Skia

  • Library with renderers implemented with the SkiaSharp 2D drawing library.
  • For C64, multiple variants of a SkiaSharp renderer exists, with different tradeoffs (speed vs completeness).
  • It's possible to use special Skia SKSL fragment shaders with SkiaSharp, which is used by some renderer variants.
  • Can be used from both native and WASM applications.
  • Note: other alternative renderers using only OpenGL + shaders can be found in Highbyte.DotNet6502.Impl.SilkNet currently used by the Silk.NET native app, see below.

Renderer

C64

Generic

Library: Highbyte.DotNet6502.Impl.AspNet

Highbyte.DotNet6502.Impl.AspNet

  • InputHandlers implemented with ASP.NET Blazor. Can be used from web applications.
  • AudioHandlers implemented with ASP.NET Blazor JS Interop to WebAudio. Can be used from web applications.

InputHandler

C64

Generic

AudioHandler

C64

Experimental (non-complete) emulation of C64 SID audio chip.

Library: Highbyte.DotNet6502.Impl.SilkNet

Highbyte.DotNet6502.Impl.SilkNet

  • InputHandlers implemented with the Silk.NET windowing library. Can be used from native Silk.NET application.
  • Renderers implemented with Silk.NET OpenGL bindings, together with custom shaders. Can be used from native Silk.NET application.

Renderer

C64

InputHandler

C64

Generic

Library: Highbyte.DotNet6502.Impl.NAudio

Highbyte.DotNet6502.Impl.Naudio

  • AudioHandlers implemented with NAudio audio library using a custom Silk.NET.OpenAL provider for cross platform support. Can be used from all native applications.

AudioHandler

C64

Library: Highbyte.DotNet6502.Impl.SadConsole

Highbyte.DotNet6502.Impl.SadConsole

  • Renderers and InputHandlers implemented with the SadConsole 2D console drawing library. Can be used from native SadConsole application.

Renderer

C64

Generic

InputHandler

C64

Generic