From 679d950e464cc7318a6e51ac70183b5898e3bf13 Mon Sep 17 00:00:00 2001 From: parsons Date: Sat, 2 May 2026 00:22:05 +0100 Subject: [PATCH] Changed some assembly settings --- Desktop/Desktop.csproj | 57 +++++++++++------- Desktop/MPSpeccy.ico | Bin 0 -> 22382 bytes .../PublishProfiles/FolderProfile.pubxml | 16 +++++ Desktop/RomLoader.cs | 31 ++++++---- Logo_Parsons.jpg | Bin 0 -> 14406 bytes MPSpeccy.ico | Bin 0 -> 22382 bytes logo_Original.jpg | Bin 0 -> 7430 bytes 7 files changed, 71 insertions(+), 33 deletions(-) create mode 100644 Desktop/MPSpeccy.ico create mode 100644 Desktop/Properties/PublishProfiles/FolderProfile.pubxml create mode 100644 Logo_Parsons.jpg create mode 100644 MPSpeccy.ico create mode 100644 logo_Original.jpg diff --git a/Desktop/Desktop.csproj b/Desktop/Desktop.csproj index d1c6a1a..14a71fd 100644 --- a/Desktop/Desktop.csproj +++ b/Desktop/Desktop.csproj @@ -6,6 +6,17 @@ enable true enable + Desktop.Program + MPSpeccy.ico + Parsons ZX Spectrum Emulator + 0.9.1 + Marc Parsons + Copyright: © 2026 Marc Parsons + A Sinclair ZX Spectrum Emulator (48K and +3) written in C#. + Fully working as standard. TZX support is not fully implemented. + ParsonsZXSpectrum + Parsons Speccy + ParsonsZXSpectrum @@ -32,69 +43,73 @@ + + + + - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never - Always + Never diff --git a/Desktop/MPSpeccy.ico b/Desktop/MPSpeccy.ico new file mode 100644 index 0000000000000000000000000000000000000000..300bddd4f3a00d8baf4d1ee0ef5de708957ddea2 GIT binary patch literal 22382 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 + + + + Release + Any CPU + C:\Parsons\Local Code Projects\Published + FileSystem + <_TargetId>Folder + net8.0-windows + true + win-x86 + true + true + + \ No newline at end of file diff --git a/Desktop/RomLoader.cs b/Desktop/RomLoader.cs index b8a0ecc..7d5cb5d 100644 --- a/Desktop/RomLoader.cs +++ b/Desktop/RomLoader.cs @@ -1,26 +1,33 @@ using System; using System.IO; +using System.Reflection; -namespace Desktop +public static class RomLoader { - public static class RomLoader + public static byte[] Load(string filename) { - public static byte[] Load(string filePath) + // Construct the embedded resource path. + // Assuming your project's default namespace is "Desktop" and the folder is "ROMS" + string resourceName = $"Desktop.{filename}"; + + var assembly = Assembly.GetExecutingAssembly(); + + using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { - if (!File.Exists(filePath)) + if (stream == null) { - throw new FileNotFoundException($"Could not find the ROM file at: {filePath}"); + // BULLETPROOFING: If the string is slightly wrong, this will print out + // exactly what the compiler actually named your embedded files! + string[] availableResources = assembly.GetManifestResourceNames(); + string list = string.Join("\n", availableResources); + throw new FileNotFoundException($"Could not find embedded ROM: {resourceName}\n\nAvailable embedded files are:\n{list}"); } - byte[] romData = File.ReadAllBytes(filePath); - - // The standard ZX Spectrum 48k ROM is exactly 16384 bytes (16KB) - if (romData.Length != 16384) + using (MemoryStream memoryStream = new MemoryStream()) { - throw new InvalidDataException($"Invalid ROM size. Expected 16384 bytes, got {romData.Length} bytes."); + stream.CopyTo(memoryStream); + return memoryStream.ToArray(); } - - return romData; } } } \ No newline at end of file diff --git a/Logo_Parsons.jpg b/Logo_Parsons.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0cf17e5400ffc691a9f1d67919322866c447ff5c GIT binary patch literal 14406 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 UNWR+p{Eug!_Md-}W@nB45A>(2kN^Mx literal 0 HcmV?d00001 diff --git a/MPSpeccy.ico b/MPSpeccy.ico new file mode 100644 index 0000000000000000000000000000000000000000..300bddd4f3a00d8baf4d1ee0ef5de708957ddea2 GIT binary patch literal 22382 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