Skip to content

Conversation

@freezy
Copy link
Owner

@freezy freezy commented Jan 8, 2026

  • CI builds properly again
  • PinMAME's PWM implementation switched to a float array, so this PR updates that as well (it's currently converted linearly to gray8).
  • Identification frames are more explicit (sorry that's pretty all I can remember).

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request addresses CI build issues and updates PinMAME's PWM implementation to use a float array instead of byte array for luminance data, along with improving identification frame handling.

Key Changes:

  • PWM implementation now uses float arrays for luminance data with linear conversion to grayscale
  • Identification frames are handled more explicitly with the NeedsIdentificationFrames property added to all destination implementations
  • CI workflow improved with per-branch build numbering

Reviewed changes

Copilot reviewed 32 out of 36 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
PinMameDevice/DmdDevice.cs Updated PWM rendering to accept float luminance data and convert to bytes
LibDmd/RenderGraph.cs Updated frame subscription logic to respect identification frame requirements
LibDmd/Output/IDestination.cs Added NeedsIdentificationFrames property to interface
LibDmd/Output/**/*.cs Implemented NeedsIdentificationFrames property across all output devices
LibDmd/Frame/DmdFrame.cs Made IsIdentifyFrame property private and added DataHash method
LibDmd/DmdDevice/DmdDevice.cs Fixed SetColor bug and updated logging configuration
LibDmd/Common/InteropUtil.cs Changed to static class and added ReadByteArray method
LibDmd/Common/Profiler.cs Improved DEBUG conditional compilation
.github/workflows/build.yml Added per-branch build number computation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

public static ushort[] ReadByteArray(IntPtr data, int length)
{
var buffer = new ushort[length];
var uint16Buffer = new byte[length * 2];
Copy link

Copilot AI Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The variable 'uint16Buffer' is misleadingly named since it's declared as a byte array. Consider renaming to 'byteBuffer' or 'rawBytes' to accurately reflect its type.

Copilot uses AI. Check for mistakes.
@freezy freezy merged commit 1c0ea8d into master Jan 11, 2026
3 checks passed
@freezy freezy deleted the fix-pup branch January 11, 2026 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant