diff --git a/SabreTools.Models/ArchiveDotOrg/File.cs b/SabreTools.Models/ArchiveDotOrg/File.cs
deleted file mode 100644
index 815f33a..0000000
--- a/SabreTools.Models/ArchiveDotOrg/File.cs
+++ /dev/null
@@ -1,205 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.ArchiveDotOrg
-{
- [XmlRoot("file")]
- public class File
- {
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- /// Is this a set of defined values?
- [XmlAttribute("source")]
- public string? Source { get; set; }
-
- [XmlElement("btih")]
- public string? BitTorrentMagnetHash { get; set; }
-
- [XmlElement("mtime")]
- public string? LastModifiedTime { get; set; }
-
- [XmlElement("size")]
- public string? Size { get; set; }
-
- [XmlElement("md5")]
- public string? MD5 { get; set; }
-
- [XmlElement("crc32")]
- public string? CRC32 { get; set; }
-
- [XmlElement("sha1")]
- public string? SHA1 { get; set; }
-
- [XmlElement("filecount")]
- public string? FileCount { get; set; }
-
- /// Is this a set of defined values?
- [XmlElement("format")]
- public string? Format { get; set; }
-
- [XmlElement("original")]
- public string? Original { get; set; }
-
- /// Is this a set of defined values?
- [XmlElement("summation")]
- public string? Summation { get; set; }
-
- [XmlElement("matrix_number")]
- public string? MatrixNumber { get; set; }
-
- [XmlElement("collection-catalog-number")]
- public string? CollectionCatalogNumber { get; set; }
-
- [XmlElement("publisher")]
- public string? Publisher { get; set; }
-
- [XmlElement("comment")]
- public string? Comment { get; set; }
-
- #region ASR-Related
-
- [XmlElement("asr_detected_lang")]
- public string? ASRDetectedLang { get; set; }
-
- [XmlElement("asr_detected_lang_conf")]
- public string? ASRDetectedLangConf { get; set; }
-
- [XmlElement("asr_transcribed_lang")]
- public string? ASRTranscribedLang { get; set; }
-
- [XmlElement("whisper_asr_module_version")]
- public string? WhisperASRModuleVersion { get; set; }
-
- [XmlElement("whisper_model_hash")]
- public string? WhisperModelHash { get; set; }
-
- [XmlElement("whisper_model_name")]
- public string? WhisperModelName { get; set; }
-
- [XmlElement("whisper_version")]
- public string? WhisperVersion { get; set; }
-
- #endregion
-
- #region OCR-Related
-
- [XmlElement("cloth_cover_detection_module_version")]
- public string? ClothCoverDetectionModuleVersion { get; set; }
-
- [XmlElement("hocr_char_to_word_hocr_version")]
- public string? hOCRCharToWordhOCRVersion { get; set; }
-
- [XmlElement("hocr_char_to_word_module_version")]
- public string? hOCRCharToWordModuleVersion { get; set; }
-
- [XmlElement("hocr_fts_text_hocr_version")]
- public string? hOCRFtsTexthOCRVersion { get; set; }
-
- [XmlElement("hocr_fts_text_module_version")]
- public string? hOCRFtsTextModuleVersion { get; set; }
-
- [XmlElement("hocr_pageindex_hocr_version")]
- public string? hOCRPageIndexhOCRVersion { get; set; }
-
- [XmlElement("hocr_pageindex_module_version")]
- public string? hOCRPageIndexModuleVersion { get; set; }
-
- [XmlElement("ocr")]
- public string? TesseractOCR { get; set; }
-
- [XmlElement("ocr_converted")]
- public string? TesseractOCRConverted { get; set; }
-
- [XmlElement("ocr_detected_lang")]
- public string? TesseractOCRDetectedLang { get; set; }
-
- [XmlElement("ocr_detected_lang_conf")]
- public string? TesseractOCRDetectedLangConf { get; set; }
-
- [XmlElement("ocr_detected_script")]
- public string? TesseractOCRDetectedScript { get; set; }
-
- [XmlElement("ocr_detected_script_conf")]
- public string? TesseractOCRDetectedScriptConf { get; set; }
-
- [XmlElement("ocr_module_version")]
- public string? TesseractOCRModuleVersion { get; set; }
-
- [XmlElement("ocr_parameters")]
- public string? TesseractOCRParameters { get; set; }
-
- [XmlElement("pdf_module_version")]
- public string? PDFModuleVersion { get; set; }
-
- [XmlElement("word_conf_0_10")]
- public string? WordConfidenceInterval0To10 { get; set; }
-
- [XmlElement("word_conf_11_20")]
- public string? WordConfidenceInterval11To20 { get; set; }
-
- [XmlElement("word_conf_21_30")]
- public string? WordConfidenceInterval21To30 { get; set; }
-
- [XmlElement("word_conf_31_40")]
- public string? WordConfidenceInterval31To40 { get; set; }
-
- [XmlElement("word_conf_41_50")]
- public string? WordConfidenceInterval41To50 { get; set; }
-
- [XmlElement("word_conf_51_60")]
- public string? WordConfidenceInterval51To60 { get; set; }
-
- [XmlElement("word_conf_61_70")]
- public string? WordConfidenceInterval61To70 { get; set; }
-
- [XmlElement("word_conf_71_80")]
- public string? WordConfidenceInterval71To80 { get; set; }
-
- [XmlElement("word_conf_81_90")]
- public string? WordConfidenceInterval81To90 { get; set; }
-
- [XmlElement("word_conf_91_100")]
- public string? WordConfidenceInterval91To100 { get; set; }
-
- #endregion
-
- #region Media-Related
-
- [XmlElement("album")]
- public string? Album { get; set; }
-
- [XmlElement("artist")]
- public string? Artist { get; set; }
-
- [XmlElement("bitrate")]
- public string? Bitrate { get; set; }
-
- [XmlElement("creator")]
- public string? Creator { get; set; }
-
- [XmlElement("height")]
- public string? Height { get; set; }
-
- [XmlElement("length")]
- public string? Length { get; set; }
-
- [XmlElement("preview-image")]
- public string? PreviewImage { get; set; }
-
- /// Is this a set of defined values?
- [XmlElement("rotation")]
- public string? Rotation { get; set; }
-
- [XmlElement("title")]
- public string? Title { get; set; }
-
- [XmlElement("track")]
- public string? Track { get; set; }
-
- [XmlElement("width")]
- public string? Width { get; set; }
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ArchiveDotOrg/Files.cs b/SabreTools.Models/ArchiveDotOrg/Files.cs
deleted file mode 100644
index 124afa1..0000000
--- a/SabreTools.Models/ArchiveDotOrg/Files.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.ArchiveDotOrg
-{
- [XmlRoot("files")]
- public class Files
- {
- [XmlElement("file")]
- public File[]? File { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/AttractMode/MetadataFile.cs b/SabreTools.Models/AttractMode/MetadataFile.cs
deleted file mode 100644
index b1b78a0..0000000
--- a/SabreTools.Models/AttractMode/MetadataFile.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace SabreTools.Models.AttractMode
-{
- ///
- /// #Name;Title;Emulator;CloneOf;Year;Manufacturer;Category;Players;Rotation;Control;Status;DisplayCount;DisplayType;AltRomname;AltTitle;Extra;Buttons ///
- ///
- public class MetadataFile
- {
- [Required]
- public string[]? Header { get; set; }
-
- public Row[]? Row { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/AttractMode/Row.cs b/SabreTools.Models/AttractMode/Row.cs
deleted file mode 100644
index 0f2f760..0000000
--- a/SabreTools.Models/AttractMode/Row.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-namespace SabreTools.Models.AttractMode
-{
- public class Row
- {
- /// Also called Romname
- [Required]
- public string? Name { get; set; }
-
- public string? Title { get; set; }
-
- public string? Emulator { get; set; }
-
- public string? CloneOf { get; set; }
-
- public string? Year { get; set; }
-
- public string? Manufacturer { get; set; }
-
- public string? Category { get; set; }
-
- public string? Players { get; set; }
-
- public string? Rotation { get; set; }
-
- public string? Control { get; set; }
-
- public string? Status { get; set; }
-
- public string? DisplayCount { get; set; }
-
- public string? DisplayType { get; set; }
-
- public string? AltRomname { get; set; }
-
- public string? AltTitle { get; set; }
-
- public string? Extra { get; set; }
-
- public string? Buttons { get; set; }
-
- public string? Favorite { get; set; }
-
- public string? Tags { get; set; }
-
- public string? PlayedCount { get; set; }
-
- public string? PlayedTime { get; set; }
-
- public string? FileIsAvailable { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/Archive.cs b/SabreTools.Models/ClrMamePro/Archive.cs
deleted file mode 100644
index 378bf7e..0000000
--- a/SabreTools.Models/ClrMamePro/Archive.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// archive
- public class Archive
- {
- /// name
- [Required]
- public string? Name { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/BiosSet.cs b/SabreTools.Models/ClrMamePro/BiosSet.cs
deleted file mode 100644
index 7dfa6f1..0000000
--- a/SabreTools.Models/ClrMamePro/BiosSet.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// biosset
- public class BiosSet
- {
- /// name
- [Required]
- public string? Name { get; set; }
-
- /// description
- [Required]
- public string? Description { get; set; }
-
- /// default
- public string? Default { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/Chip.cs b/SabreTools.Models/ClrMamePro/Chip.cs
deleted file mode 100644
index 36304da..0000000
--- a/SabreTools.Models/ClrMamePro/Chip.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// chip
- public class Chip
- {
- /// type, (cpu|audio)
- [Required]
- public string? Type { get; set; }
-
- /// name
- [Required]
- public string? Name { get; set; }
-
- /// flags
- public string? Flags { get; set; }
-
- /// clock, Numeric?
- public string? Clock { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/ClrMamePro.cs b/SabreTools.Models/ClrMamePro/ClrMamePro.cs
deleted file mode 100644
index 27916c1..0000000
--- a/SabreTools.Models/ClrMamePro/ClrMamePro.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// clrmamepro
- public class ClrMamePro
- {
- /// name
- public string? Name { get; set; }
-
- /// description
- public string? Description { get; set; }
-
- /// rootdir
- public string? RootDir { get; set; }
-
- /// category
- public string? Category { get; set; }
-
- /// version
- public string? Version { get; set; }
-
- /// date
- public string? Date { get; set; }
-
- /// author
- public string? Author { get; set; }
-
- /// homepage
- public string? Homepage { get; set; }
-
- /// url
- public string? Url { get; set; }
-
- /// comment
- public string? Comment { get; set; }
-
- /// header
- public string? Header { get; set; }
-
- /// type
- public string? Type { get; set; }
-
- /// forcemerging
- public string? ForceMerging { get; set; }
-
- /// forcezipping
- public string? ForceZipping { get; set; }
-
- /// forcepacking
- public string? ForcePacking { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/DipSwitch.cs b/SabreTools.Models/ClrMamePro/DipSwitch.cs
deleted file mode 100644
index 0c9365c..0000000
--- a/SabreTools.Models/ClrMamePro/DipSwitch.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// dipswitch
- public class DipSwitch
- {
- /// name
- [Required]
- public string? Name { get; set; }
-
- /// entry
- public string[]? Entry { get; set; }
-
- /// default, (yes|no) "no"
- public string? Default { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/Disk.cs b/SabreTools.Models/ClrMamePro/Disk.cs
deleted file mode 100644
index 60cdc31..0000000
--- a/SabreTools.Models/ClrMamePro/Disk.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// disk
- public class Disk
- {
- /// name
- [Required]
- public string? Name { get; set; }
-
- /// md5
- public string? MD5 { get; set; }
-
- /// sha1
- public string? SHA1 { get; set; }
-
- /// merge
- public string? Merge { get; set; }
-
- /// status
- public string? Status { get; set; }
-
- /// flags
- public string? Flags { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/Driver.cs b/SabreTools.Models/ClrMamePro/Driver.cs
deleted file mode 100644
index 93a4c35..0000000
--- a/SabreTools.Models/ClrMamePro/Driver.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// driver
- public class Driver
- {
- /// status, (good|imperfect|preliminary)
- [Required]
- public string? Status { get; set; }
-
- /// color, (good|imperfect|preliminary)
- public string? Color { get; set; }
-
- /// sound, (good|imperfect|preliminary)
- public string? Sound { get; set; }
-
- /// palettesize, Numeric?
- public string? PaletteSize { get; set; }
-
- /// blit, (plain|dirty)
- public string? Blit { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/Game.cs b/SabreTools.Models/ClrMamePro/Game.cs
deleted file mode 100644
index c00eed6..0000000
--- a/SabreTools.Models/ClrMamePro/Game.cs
+++ /dev/null
@@ -1,5 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// game
- public class Game : GameBase { }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/GameBase.cs b/SabreTools.Models/ClrMamePro/GameBase.cs
deleted file mode 100644
index e1a5f22..0000000
--- a/SabreTools.Models/ClrMamePro/GameBase.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- ///
- /// Base class to unify the various game-like types
- ///
- public abstract class GameBase
- {
- /// name
- [Required]
- public string? Name { get; set; }
-
- /// description
- public string? Description { get; set; }
-
- /// year
- public string? Year { get; set; }
-
- /// manufacturer
- public string? Manufacturer { get; set; }
-
- /// category
- public string? Category { get; set; }
-
- /// cloneof
- public string? CloneOf { get; set; }
-
- /// romof
- public string? RomOf { get; set; }
-
- /// sampleof
- public string? SampleOf { get; set; }
-
- /// release
- public Release[]? Release { get; set; }
-
- /// biosset
- public BiosSet[]? BiosSet { get; set; }
-
- /// rom
- public Rom[]? Rom { get; set; }
-
- /// disk
- public Disk[]? Disk { get; set; }
-
- /// sample
- public Sample[]? Sample { get; set; }
-
- /// archive
- public Archive[]? Archive { get; set; }
-
- #region Aaru Extensions
-
- /// media, Appears after Disk
- public Media[]? Media { get; set; }
-
- #endregion
-
- #region MAME Extensions
-
- /// chip, Appears after Archive
- public Chip[]? Chip { get; set; }
-
- /// video, Appears after Chip
- public Video[]? Video { get; set; }
-
- /// sound, Appears after Video
- public Sound? Sound { get; set; }
-
- /// input, Appears after Sound
- public Input? Input { get; set; }
-
- /// dipswitch, Appears after Input
- public DipSwitch[]? DipSwitch { get; set; }
-
- /// driver, Appears after DipSwitch
- public Driver? Driver { get; set; }
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/Input.cs b/SabreTools.Models/ClrMamePro/Input.cs
deleted file mode 100644
index fec454b..0000000
--- a/SabreTools.Models/ClrMamePro/Input.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// input
- public class Input
- {
- /// players, Numeric/remarks>
- [Required]
- public string? Players { get; set; }
-
- /// control
- public string? Control { get; set; }
-
- /// buttons, Numeric
- [Required]
- public string? Buttons { get; set; }
-
- /// coins, Numeric
- public string? Coins { get; set; }
-
- /// tilt, (yes|no) "no"
- public string? Tilt { get; set; }
-
- /// service, (yes|no) "no"
- public string? Service { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/Machine.cs b/SabreTools.Models/ClrMamePro/Machine.cs
deleted file mode 100644
index 2084e41..0000000
--- a/SabreTools.Models/ClrMamePro/Machine.cs
+++ /dev/null
@@ -1,5 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// machine
- public class Machine : GameBase { }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/Media.cs b/SabreTools.Models/ClrMamePro/Media.cs
deleted file mode 100644
index c60fade..0000000
--- a/SabreTools.Models/ClrMamePro/Media.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// media
- public class Media
- {
- /// name
- [Required]
- public string? Name { get; set; }
-
- /// md5
- public string? MD5 { get; set; }
-
- /// sha1
- public string? SHA1 { get; set; }
-
- /// sha256
- public string? SHA256 { get; set; }
-
- /// spamsum
- public string? SpamSum { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/MetadataFile.cs b/SabreTools.Models/ClrMamePro/MetadataFile.cs
deleted file mode 100644
index 3991a97..0000000
--- a/SabreTools.Models/ClrMamePro/MetadataFile.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- public class MetadataFile
- {
- /// clrmamepro
- public ClrMamePro? ClrMamePro { get; set; }
-
- /// game, machine, resource, set
- public GameBase[]? Game { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/Release.cs b/SabreTools.Models/ClrMamePro/Release.cs
deleted file mode 100644
index aecdf13..0000000
--- a/SabreTools.Models/ClrMamePro/Release.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// release
- public class Release
- {
- /// name
- [Required]
- public string? Name { get; set; }
-
- /// region
- [Required]
- public string? Region { get; set; }
-
- /// language
- public string? Language { get; set; }
-
- /// date
- public string? Date { get; set; }
-
- /// default
- public string? Default { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/Resource.cs b/SabreTools.Models/ClrMamePro/Resource.cs
deleted file mode 100644
index 558d04b..0000000
--- a/SabreTools.Models/ClrMamePro/Resource.cs
+++ /dev/null
@@ -1,5 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// resource
- public class Resource : GameBase { }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/Rom.cs b/SabreTools.Models/ClrMamePro/Rom.cs
deleted file mode 100644
index e6def48..0000000
--- a/SabreTools.Models/ClrMamePro/Rom.cs
+++ /dev/null
@@ -1,103 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// rom
- public class Rom
- {
- /// name
- [Required]
- public string? Name { get; set; }
-
- /// size, Numeric
- [Required]
- public string? Size { get; set; }
-
- /// crc
- public string? CRC { get; set; }
-
- /// md5
- public string? MD5 { get; set; }
-
- /// sha1
- public string? SHA1 { get; set; }
-
- /// merge
- public string? Merge { get; set; }
-
- /// status
- public string? Status { get; set; }
-
- /// flags
- public string? Flags { get; set; }
-
- /// date
- public string? Date { get; set; }
-
- #region Hash Extensions
-
- /// md2; Appears after CRC
- public string? MD2 { get; set; }
-
- /// md4; Appears after MD2
- public string? MD4 { get; set; }
-
- /// ripemd128; Appears after MD5
- public string? RIPEMD128 { get; set; }
-
- /// ripemd160; Appears after RIPEMD128
- public string? RIPEMD160 { get; set; }
-
- /// sha256; Also in No-Intro spec; Appears after SHA1
- public string? SHA256 { get; set; }
-
- /// sha384; Appears after SHA256
- public string? SHA384 { get; set; }
-
- /// sha512; Appears after SHA384
- public string? SHA512 { get; set; }
-
- /// spamsum; Appears after SHA512
- public string? SpamSum { get; set; }
-
- #endregion
-
- #region DiscImgeCreator Extensions
-
- /// xxh3_64; Appears after SpamSum
- public string? xxHash364 { get; set; }
-
- /// xxh3_128; Appears after xxHash364
- public string? xxHash3128 { get; set; }
-
- #endregion
-
- #region MAME Extensions
-
- /// region; Appears after Status
- public string? Region { get; set; }
-
- /// offs; Appears after Flags
- public string? Offs { get; set; }
-
- #endregion
-
- #region No-Intro Extensions
-
- /// serial; Appears after Offs
- public string? Serial { get; set; }
-
- /// header; Appears after Serial
- public string? Header { get; set; }
-
- #endregion
-
- #region RomVault Extensions
-
- /// inverted; Boolean; Appears after Date
- public string? Inverted { get; set; }
-
- /// mia; Boolean; Appears after Inverted
- public string? MIA { get; set; }
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/RomVault.cs b/SabreTools.Models/ClrMamePro/RomVault.cs
deleted file mode 100644
index 7975ff4..0000000
--- a/SabreTools.Models/ClrMamePro/RomVault.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// romvault
- public class RomVault
- {
- /// name
- public string? Name { get; set; }
-
- /// description
- public string? Description { get; set; }
-
- /// rootdir
- public string? RootDir { get; set; }
-
- /// category
- public string? Category { get; set; }
-
- /// version
- public string? Version { get; set; }
-
- /// date
- public string? Date { get; set; }
-
- /// author
- public string? Author { get; set; }
-
- /// homepage
- public string? Homepage { get; set; }
-
- /// url
- public string? Url { get; set; }
-
- /// comment
- public string? Comment { get; set; }
-
- /// header
- public string? Header { get; set; }
-
- /// type
- public string? Type { get; set; }
-
- /// forcemerging
- public string? ForceMerging { get; set; }
-
- /// forcezipping
- public string? ForceZipping { get; set; }
-
- /// forcepacking
- public string? ForcePacking { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/Sample.cs b/SabreTools.Models/ClrMamePro/Sample.cs
deleted file mode 100644
index 97fa16a..0000000
--- a/SabreTools.Models/ClrMamePro/Sample.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// sample
- public class Sample
- {
- /// name
- [Required]
- public string? Name { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/Set.cs b/SabreTools.Models/ClrMamePro/Set.cs
deleted file mode 100644
index cd88b2a..0000000
--- a/SabreTools.Models/ClrMamePro/Set.cs
+++ /dev/null
@@ -1,5 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// set
- public class Set : GameBase { }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/Sound.cs b/SabreTools.Models/ClrMamePro/Sound.cs
deleted file mode 100644
index def9144..0000000
--- a/SabreTools.Models/ClrMamePro/Sound.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// sound
- public class Sound
- {
- /// channels, Numeric?
- [Required]
- public string? Channels { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/ClrMamePro/Video.cs b/SabreTools.Models/ClrMamePro/Video.cs
deleted file mode 100644
index 80e837e..0000000
--- a/SabreTools.Models/ClrMamePro/Video.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-namespace SabreTools.Models.ClrMamePro
-{
- /// video
- public class Video
- {
- /// screen, (raster|vector)
- [Required]
- public string? Screen { get; set; }
-
- /// orientation, (vertical|horizontal)
- [Required]
- public string? Orientation { get; set; }
-
- /// x, Numeric?
- public string? X { get; set; }
-
- /// y, Numeric?
- public string? Y { get; set; }
-
- /// aspectx, Numeric?
- public string? AspectX { get; set; }
-
- /// aspecty, Numeric?
- public string? AspectY { get; set; }
-
- /// freq, Numeric?
- public string? Freq { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/DosCenter/DosCenter.cs b/SabreTools.Models/DosCenter/DosCenter.cs
deleted file mode 100644
index b391ceb..0000000
--- a/SabreTools.Models/DosCenter/DosCenter.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-namespace SabreTools.Models.DosCenter
-{
- /// doscenter
- public class DosCenter
- {
- /// name
- public string? Name { get; set; }
-
- /// description
- public string? Description { get; set; }
-
- /// version
- public string? Version { get; set; }
-
- /// date
- public string? Date { get; set; }
-
- /// author
- public string? Author { get; set; }
-
- /// homepage
- public string? Homepage { get; set; }
-
- /// comment
- public string? Comment { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/DosCenter/File.cs b/SabreTools.Models/DosCenter/File.cs
deleted file mode 100644
index d7d59a9..0000000
--- a/SabreTools.Models/DosCenter/File.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-namespace SabreTools.Models.DosCenter
-{
- /// file
- public class File
- {
- /// name, attribute
- [Required]
- public string? Name { get; set; }
-
- /// size, attribute, numeric
- [Required]
- public string? Size { get; set; }
-
- /// crc, attribute
- [Required]
- public string? CRC { get; set; }
-
- /// sha1, attribute
- public string? SHA1 { get; set; }
-
- /// date, attribute
- public string? Date { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/DosCenter/Game.cs b/SabreTools.Models/DosCenter/Game.cs
deleted file mode 100644
index bfe9429..0000000
--- a/SabreTools.Models/DosCenter/Game.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace SabreTools.Models.DosCenter
-{
- /// game
- public class Game
- {
- /// name
- [Required]
- public string? Name { get; set; }
-
- /// file
- public File[]? File { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/DosCenter/MetadataFile.cs b/SabreTools.Models/DosCenter/MetadataFile.cs
deleted file mode 100644
index c730607..0000000
--- a/SabreTools.Models/DosCenter/MetadataFile.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace SabreTools.Models.DosCenter
-{
- public class MetadataFile
- {
- /// doscenter
- public DosCenter? DosCenter { get; set; }
-
- /// game
- public Game[]? Game { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/EverdriveSMDB/MetadataFile.cs b/SabreTools.Models/EverdriveSMDB/MetadataFile.cs
deleted file mode 100644
index 1813caf..0000000
--- a/SabreTools.Models/EverdriveSMDB/MetadataFile.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace SabreTools.Models.EverdriveSMDB
-{
- public class MetadataFile
- {
- public Row[]? Row { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/EverdriveSMDB/Row.cs b/SabreTools.Models/EverdriveSMDB/Row.cs
deleted file mode 100644
index c25128e..0000000
--- a/SabreTools.Models/EverdriveSMDB/Row.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-namespace SabreTools.Models.EverdriveSMDB
-{
- ///
- /// SHA-256 \t Machine Name/Filename \t SHA-1 \t MD5 \t CRC32 \t Size (Optional)
- ///
- public class Row
- {
- [Required]
- public string? SHA256 { get; set; }
-
- [Required]
- public string? Name { get; set; }
-
- [Required]
- public string? SHA1 { get; set; }
-
- [Required]
- public string? MD5 { get; set; }
-
- [Required]
- public string? CRC32 { get; set; }
-
- public string? Size { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/GameHeader/FileData.cs b/SabreTools.Models/GameHeader/FileData.cs
deleted file mode 100644
index 2e1db36..0000000
--- a/SabreTools.Models/GameHeader/FileData.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-namespace SabreTools.Models.GameHeader
-{
- ///
- /// File Data section for all files
- ///
- public sealed class FileData
- {
- public string? System { get; set; }
-
- public string? Path { get; set; }
-
- public string? Archive { get; set; }
-
- public string? File { get; set; }
-
- public string? BitSize { get; set; }
-
- public long SizeBytes { get; set; }
-
- // Hex string, no prefix
- public string? CRC32 { get; set; }
-
- // Hex string, no prefix
- public string? MD5 { get; set; }
-
- // Hex string, no prefix
- public string? SHA1 { get; set; }
-
- // Hex string, no prefix
- public string? SHA256 { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/GameHeader/NitroEncryptedData.cs b/SabreTools.Models/GameHeader/NitroEncryptedData.cs
deleted file mode 100644
index 75a8a41..0000000
--- a/SabreTools.Models/GameHeader/NitroEncryptedData.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-namespace SabreTools.Models.GameHeader
-{
- ///
- /// Encrypted Data section for an NDS cart image
- ///
- public sealed class NitroEncryptedData
- {
- public ushort EncryptedSecure { get; set; }
-
- // Hex string, no prefix
- public string? EncryptedCRC32 { get; set; }
-
- // Hex string, no prefix
- public string? EncryptedMD5 { get; set; }
-
- // Hex string, no prefix
- public string? EncryptedSHA1 { get; set; }
-
- // Hex string, no prefix
- public string? EncryptedSHA256 { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/GameHeader/NitroHeaderData.cs b/SabreTools.Models/GameHeader/NitroHeaderData.cs
deleted file mode 100644
index e1a6856..0000000
--- a/SabreTools.Models/GameHeader/NitroHeaderData.cs
+++ /dev/null
@@ -1,202 +0,0 @@
-namespace SabreTools.Models.GameHeader
-{
- ///
- /// Header Data section for an NDS cart image
- ///
- public sealed class NitroHeaderData
- {
- public string? GameTitle { get; set; }
-
- public string? GameSerial { get; set; }
-
- public string? MakerCode { get; set; }
-
- public byte UnitCode { get; set; }
-
- public byte EncryptionSeed { get; set; }
-
- public byte DeviceSize { get; set; }
-
- public string? DeviceSizeInfo { get; set; }
-
- public byte AsianRegion { get; set; }
-
- // Hex string, prefixed
- public string? Reserved1 { get; set; }
-
- public byte Version { get; set; }
-
- public string? VersionInfo { get; set; }
-
- public byte Autostart { get; set; }
-
- public string? AutostartInfo { get; set; }
-
- public uint ARM9ROMOffset { get; set; }
-
- public uint ARM9EntryAddress { get; set; }
-
- public uint ARM9RAMOffset { get; set; }
-
- public uint ARM7ROMOffset { get; set; }
-
- public uint ARM7EntryAddress { get; set; }
-
- public uint ARM7RAMOffset { get; set; }
-
- public uint FNTOffset { get; set; }
-
- public uint FNTSize { get; set; }
-
- public uint FATOffset { get; set; }
-
- public uint FATSize { get; set; }
-
- public uint ARM9OverlayOffset { get; set; }
-
- public uint ARM9OverlaySize { get; set; }
-
- public uint ARM7OverlayOffset { get; set; }
-
- public uint ARM7OverlaySize { get; set; }
-
- public uint NormalCMDSetting { get; set; }
-
- public uint Key1CMDSetting { get; set; }
-
- public uint IconAddress { get; set; }
-
- public ushort SecureCRC16 { get; set; }
-
- public string? SecureCRC16Info { get; set; }
-
- public ushort SecureTimeout { get; set; }
-
- public uint ARM9AutoloadAddress { get; set; }
-
- public uint ARM7AutoloadAddress { get; set; }
-
- public ulong SecureDisable { get; set; }
-
- public uint UsedRomSize { get; set; }
-
- public string? UsedRomSizeInfo { get; set; }
-
- public uint HeaderSize { get; set; }
-
- public string? HeaderSizeInfo { get; set; }
-
- // Hex string, no prefix
- public string? Reserved2 { get; set; }
-
- // Hex string, no prefix
- public string? NintendoLogo { get; set; }
-
- public ushort LogoCRC16 { get; set; }
-
- public string? LogoCRC16Info { get; set; }
-
- public ushort HeaderCRC16 { get; set; }
-
- public string? HeaderCRC16Info { get; set; }
-
- // Hex string, prefixed
- public string? Reserved3 { get; set; }
-
- // Hex string, prefixed
- public string? ConfigSettings { get; set; }
-
- public uint DsiRegionMask { get; set; }
-
- public uint AccessControl { get; set; }
-
- public uint ARM7SCFG { get; set; }
-
- public uint DSiAppFlags { get; set; }
-
- public uint DSi9RomOffset { get; set; }
-
- public uint DSi9EntryAddress { get; set; }
-
- public uint DSi9RamAddress { get; set; }
-
- public uint DSi9Size { get; set; }
-
- public uint DSi7RomOffset { get; set; }
-
- public uint DSi7EntryAddress { get; set; }
-
- public uint DSi7RamAddress { get; set; }
-
- public uint DSi7Size { get; set; }
-
- public uint DigestNTROffset { get; set; }
-
- public uint DigestNTRSize { get; set; }
-
- public uint DigestTWLOffset { get; set; }
-
- public uint DigestTWLSize { get; set; }
-
- public uint DigestSectorHashTableOffset { get; set; }
-
- public uint DigestSectorHashTableSize { get; set; }
-
- public uint DigestBlockHashTableOffset { get; set; }
-
- public uint DigestBlockHashTableLength { get; set; }
-
- public uint DigestSectorSize { get; set; }
-
- public uint DigestBlockSectorCount { get; set; }
-
- // Hex string, prefixed
- public string? Reserved4 { get; set; }
-
- public uint Modcrypt1Offset { get; set; }
-
- public uint Modcrypt1Size { get; set; }
-
- public uint Modcrypt2Offset { get; set; }
-
- public uint Modcrypt2Size { get; set; }
-
- public ulong TitleID { get; set; }
-
- // Hex string, prefixed
- public string? Reserved5 { get; set; }
-
- // Hex string, prefixed
- public string? ARM9SHA1HMAC { get; set; }
-
- // Hex string, prefixed
- public string? ARM7SHA1HMAC { get; set; }
-
- // Hex string, prefixed
- public string? DigestMasterSHA1HMAC { get; set; }
-
- // Hex string, prefixed
- public string? BannerSHA1HMAC { get; set; }
-
- // Hex string, prefixed
- public string? ARM9iSHA1HMAC { get; set; }
-
- // Hex string, prefixed
- public string? ARM7iSHA1HMAC { get; set; }
-
- // Hex string, prefixed
- public string? Reserved6 { get; set; }
-
- // Hex string, prefixed
- public string? UnknownHash { get; set; }
-
- // Hex string, prefixed
- public string? Reserved7 { get; set; }
-
- // Hex string, prefixed
- public string? Reserved8 { get; set; }
-
- // Hex string, prefixed
- public string? RSASignature { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/GameHeader/NitroIconTitleData.cs b/SabreTools.Models/GameHeader/NitroIconTitleData.cs
deleted file mode 100644
index 4688c66..0000000
--- a/SabreTools.Models/GameHeader/NitroIconTitleData.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-namespace SabreTools.Models.GameHeader
-{
- ///
- /// Icon/Title Data section for an NDS cart image
- ///
- public sealed class NitroIconTitleData
- {
- public ushort IconVersion { get; set; }
-
- public ushort IconCRC16 { get; set; }
-
- public string? IconCRCInfo { get; set; }
-
- public string? JapaneseTitle { get; set; }
-
- public string? EnglishTitle { get; set; }
-
- public string? FrenchTitle { get; set; }
-
- public string? GermanTitle { get; set; }
-
- public string? SpanishTitle { get; set; }
-
- public string? ItalianTitle { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Hashfile/Hashfile.cs b/SabreTools.Models/Hashfile/Hashfile.cs
deleted file mode 100644
index d3c99e1..0000000
--- a/SabreTools.Models/Hashfile/Hashfile.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-namespace SabreTools.Models.Hashfile
-{
- /// Hashfiles can only contain one type of hash at a time
- public class Hashfile
- {
- public SFV[]? SFV { get; set; }
-
- public MD2[]? MD2 { get; set; }
-
- public MD4[]? MD4 { get; set; }
-
- public MD5[]? MD5 { get; set; }
-
- public RIPEMD128[]? RIPEMD128 { get; set; }
-
- public RIPEMD160[]? RIPEMD160 { get; set; }
-
- public SHA1[]? SHA1 { get; set; }
-
- public SHA256[]? SHA256 { get; set; }
-
- public SHA384[]? SHA384 { get; set; }
-
- public SHA512[]? SHA512 { get; set; }
-
- public SpamSum[]? SpamSum { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Hashfile/MD2.cs b/SabreTools.Models/Hashfile/MD2.cs
deleted file mode 100644
index 41eda51..0000000
--- a/SabreTools.Models/Hashfile/MD2.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace SabreTools.Models.Hashfile
-{
- ///
- /// MD2 File
- ///
- public class MD2
- {
- [Required]
- public string? Hash { get; set; }
-
- [Required]
- public string? File { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Hashfile/MD4.cs b/SabreTools.Models/Hashfile/MD4.cs
deleted file mode 100644
index 48c5434..0000000
--- a/SabreTools.Models/Hashfile/MD4.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace SabreTools.Models.Hashfile
-{
- ///
- /// MD4 File
- ///
- public class MD4
- {
- [Required]
- public string? Hash { get; set; }
-
- [Required]
- public string? File { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Hashfile/MD5.cs b/SabreTools.Models/Hashfile/MD5.cs
deleted file mode 100644
index 1156d18..0000000
--- a/SabreTools.Models/Hashfile/MD5.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace SabreTools.Models.Hashfile
-{
- ///
- /// MD5 File
- ///
- public class MD5
- {
- [Required]
- public string? Hash { get; set; }
-
- [Required]
- public string? File { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Hashfile/RIPEMD128.cs b/SabreTools.Models/Hashfile/RIPEMD128.cs
deleted file mode 100644
index 9e32f4c..0000000
--- a/SabreTools.Models/Hashfile/RIPEMD128.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace SabreTools.Models.Hashfile
-{
- ///
- /// RIPEMD128 File
- ///
- public class RIPEMD128
- {
- [Required]
- public string? Hash { get; set; }
-
- [Required]
- public string? File { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Hashfile/RIPEMD160.cs b/SabreTools.Models/Hashfile/RIPEMD160.cs
deleted file mode 100644
index 7043144..0000000
--- a/SabreTools.Models/Hashfile/RIPEMD160.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace SabreTools.Models.Hashfile
-{
- ///
- /// RIPEMD160 File
- ///
- public class RIPEMD160
- {
- [Required]
- public string? Hash { get; set; }
-
- [Required]
- public string? File { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Hashfile/SFV.cs b/SabreTools.Models/Hashfile/SFV.cs
deleted file mode 100644
index 8d4be7f..0000000
--- a/SabreTools.Models/Hashfile/SFV.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace SabreTools.Models.Hashfile
-{
- ///
- /// File CRC
- ///
- public class SFV
- {
- [Required]
- public string? File { get; set; }
-
- [Required]
- public string? Hash { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Hashfile/SHA1.cs b/SabreTools.Models/Hashfile/SHA1.cs
deleted file mode 100644
index 153afb3..0000000
--- a/SabreTools.Models/Hashfile/SHA1.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace SabreTools.Models.Hashfile
-{
- ///
- /// SHA-1 File
- ///
- public class SHA1
- {
- [Required]
- public string? Hash { get; set; }
-
- [Required]
- public string? File { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Hashfile/SHA256.cs b/SabreTools.Models/Hashfile/SHA256.cs
deleted file mode 100644
index 9b2c6d2..0000000
--- a/SabreTools.Models/Hashfile/SHA256.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace SabreTools.Models.Hashfile
-{
- ///
- /// SHA-256 File
- ///
- public class SHA256
- {
- [Required]
- public string? Hash { get; set; }
-
- [Required]
- public string? File { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Hashfile/SHA384.cs b/SabreTools.Models/Hashfile/SHA384.cs
deleted file mode 100644
index 916aa71..0000000
--- a/SabreTools.Models/Hashfile/SHA384.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace SabreTools.Models.Hashfile
-{
- ///
- /// SHA-384 File
- ///
- public class SHA384
- {
- [Required]
- public string? Hash { get; set; }
-
- [Required]
- public string? File { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Hashfile/SHA512.cs b/SabreTools.Models/Hashfile/SHA512.cs
deleted file mode 100644
index dec6abb..0000000
--- a/SabreTools.Models/Hashfile/SHA512.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace SabreTools.Models.Hashfile
-{
- ///
- /// SHA-512 File
- ///
- public class SHA512
- {
- [Required]
- public string? Hash { get; set; }
-
- [Required]
- public string? File { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Hashfile/SpamSum.cs b/SabreTools.Models/Hashfile/SpamSum.cs
deleted file mode 100644
index 82bb61e..0000000
--- a/SabreTools.Models/Hashfile/SpamSum.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace SabreTools.Models.Hashfile
-{
- ///
- /// SpamSum File
- ///
- public class SpamSum
- {
- [Required]
- public string? Hash { get; set; }
-
- [Required]
- public string? File { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listrom/MetadataFile.cs b/SabreTools.Models/Listrom/MetadataFile.cs
deleted file mode 100644
index af1276b..0000000
--- a/SabreTools.Models/Listrom/MetadataFile.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace SabreTools.Models.Listrom
-{
- public class MetadataFile
- {
- public Set[]? Set { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listrom/Row.cs b/SabreTools.Models/Listrom/Row.cs
deleted file mode 100644
index 4f3dce9..0000000
--- a/SabreTools.Models/Listrom/Row.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-namespace SabreTools.Models.Listrom
-{
- ///
- /// ROMs required for driver "testdriver".
- /// Name Size Checksum
- /// abcd.bin 1024 CRC(00000000) SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709)
- /// efgh.bin 1024 BAD CRC(00000000) SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709) BAD_DUMP
- /// ijkl.bin 1024 NO GOOD DUMP KNOWN
- /// abcd MD5(d41d8cd98f00b204e9800998ecf8427e)
- /// abcd SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709)
- /// efgh BAD MD5(d41d8cd98f00b204e9800998ecf8427e) BAD_DUMP
- /// efgh BAD SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709) BAD_DUMP
- /// ijkl NO GOOD DUMP KNOWN
- ///
- public class Row
- {
- [Required]
- public string? Name { get; set; }
-
- public string? Size { get; set; }
-
- public bool Bad { get; set; }
-
- public string? CRC { get; set; }
-
- public string? MD5 { get; set; }
-
- public string? SHA1 { get; set; }
-
- public bool NoGoodDumpKnown { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listrom/Set.cs b/SabreTools.Models/Listrom/Set.cs
deleted file mode 100644
index 2d5eaa9..0000000
--- a/SabreTools.Models/Listrom/Set.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-namespace SabreTools.Models.Listrom
-{
- ///
- /// ROMs required for driver "testdriver".
- /// Name Size Checksum
- /// abcd.bin 1024 CRC(00000000) SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709)
- /// efgh.bin 1024 BAD CRC(00000000) SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709) BAD_DUMP
- /// ijkl.bin 1024 NO GOOD DUMP KNOWN
- /// abcd SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709)
- /// efgh BAD SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709) BAD_DUMP
- /// ijkl NO GOOD DUMP KNOWN
- ///
- public class Set
- {
- public string? Driver { get; set; }
-
- public string? Device { get; set; }
-
- public Row[]? Row { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Adjuster.cs b/SabreTools.Models/Listxml/Adjuster.cs
deleted file mode 100644
index c3e99e0..0000000
--- a/SabreTools.Models/Listxml/Adjuster.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("adjuster")]
- public class Adjuster
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("default")]
- public string? Default { get; set; }
-
- [XmlElement("condition")]
- public Condition? Condition { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Analog.cs b/SabreTools.Models/Listxml/Analog.cs
deleted file mode 100644
index 1290f91..0000000
--- a/SabreTools.Models/Listxml/Analog.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("analog")]
- public class Analog
- {
- [Required]
- [XmlAttribute("mask")]
- public string? Mask { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/BiosSet.cs b/SabreTools.Models/Listxml/BiosSet.cs
deleted file mode 100644
index dec39ea..0000000
--- a/SabreTools.Models/Listxml/BiosSet.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("biosset")]
- public class BiosSet
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [Required]
- [XmlAttribute("description")]
- public string? Description { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("default")]
- public string? Default { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Chip.cs b/SabreTools.Models/Listxml/Chip.cs
deleted file mode 100644
index 3fe1c86..0000000
--- a/SabreTools.Models/Listxml/Chip.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("chip")]
- public class Chip
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlAttribute("tag")]
- public string? Tag { get; set; }
-
- /// (cpu|audio)
- [Required]
- [XmlAttribute("type")]
- public string? Type { get; set; }
-
- /// Only present in older versions
- [XmlAttribute("soundonly")]
- public string? SoundOnly { get; set; }
-
- [XmlAttribute("clock")]
- public string? Clock { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Condition.cs b/SabreTools.Models/Listxml/Condition.cs
deleted file mode 100644
index bc5a887..0000000
--- a/SabreTools.Models/Listxml/Condition.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("condition")]
- public class Condition
- {
- [Required]
- [XmlAttribute("tag")]
- public string? Tag { get; set; }
-
- [Required]
- [XmlAttribute("mask")]
- public string? Mask { get; set; }
-
- /// (eq|ne|gt|le|lt|ge)
- [Required]
- [XmlAttribute("relation")]
- public string? Relation { get; set; }
-
- [Required]
- [XmlAttribute("value")]
- public string? Value { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/ConfLocation.cs b/SabreTools.Models/Listxml/ConfLocation.cs
deleted file mode 100644
index df75389..0000000
--- a/SabreTools.Models/Listxml/ConfLocation.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("conflocation")]
- public class ConfLocation
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- /// Numeric?
- [Required]
- [XmlAttribute("number")]
- public string? Number { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("inverted")]
- public string? Inverted { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/ConfSetting.cs b/SabreTools.Models/Listxml/ConfSetting.cs
deleted file mode 100644
index bc39440..0000000
--- a/SabreTools.Models/Listxml/ConfSetting.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("confsetting")]
- public class ConfSetting
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [Required]
- [XmlAttribute("value")]
- public string? Value { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("default")]
- public string? Default { get; set; }
-
- [XmlElement("condition")]
- public Condition? Condition { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Configuration.cs b/SabreTools.Models/Listxml/Configuration.cs
deleted file mode 100644
index c060ce7..0000000
--- a/SabreTools.Models/Listxml/Configuration.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("configuration")]
- public class Configuration
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [Required]
- [XmlAttribute("tag")]
- public string? Tag { get; set; }
-
- [XmlAttribute("mask")]
- public string? Mask { get; set; }
-
- [XmlElement("condition")]
- public Condition? Condition { get; set; }
-
- [XmlElement("conflocation")]
- public ConfLocation[]? ConfLocation { get; set; }
-
- [XmlElement("confsetting")]
- public ConfSetting[]? ConfSetting { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Control.cs b/SabreTools.Models/Listxml/Control.cs
deleted file mode 100644
index 0748839..0000000
--- a/SabreTools.Models/Listxml/Control.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("control")]
- public class Control
- {
- /// (joy|stick|paddle|pedal|lightgun|positional|dial|trackball|mouse|only_buttons|keypad|keyboard|mahjong|hanafuda|gambling)
- [Required]
- [XmlAttribute("type")]
- public string? Type { get; set; }
-
- /// Numeric
- [XmlAttribute("player")]
- public string? Player { get; set; }
-
- /// Numeric
- [XmlAttribute("buttons")]
- public string? Buttons { get; set; }
-
- /// Numeric
- [XmlAttribute("reqbuttons")]
- public string? ReqButtons { get; set; }
-
- /// Numeric
- [XmlAttribute("minimum")]
- public string? Minimum { get; set; }
-
- /// Numeric
- [XmlAttribute("maximum")]
- public string? Maximum { get; set; }
-
- /// Numeric
- [XmlAttribute("sensitivity")]
- public string? Sensitivity { get; set; }
-
- /// Numeric
- [XmlAttribute("keydelta")]
- public string? KeyDelta { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("reverse")]
- public string? Reverse { get; set; }
-
- /// Numeric?
- [XmlAttribute("ways")]
- public string? Ways { get; set; }
-
- /// Numeric?
- [XmlAttribute("ways2")]
- public string? Ways2 { get; set; }
-
- /// Numeric?
- [XmlAttribute("ways3")]
- public string? Ways3 { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Device.cs b/SabreTools.Models/Listxml/Device.cs
deleted file mode 100644
index 15dd211..0000000
--- a/SabreTools.Models/Listxml/Device.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("device")]
- public class Device
- {
- [Required]
- [XmlAttribute("type")]
- public string? Type { get; set; }
-
- [XmlAttribute("tag")]
- public string? Tag { get; set; }
-
- [XmlAttribute("fixed_image")]
- public string? FixedImage { get; set; }
-
- /// Numeric boolean
- [XmlAttribute("mandatory")]
- public string? Mandatory { get; set; }
-
- [XmlAttribute("interface")]
- public string? Interface { get; set; }
-
- [XmlElement("instance")]
- public Instance? Instance { get; set; }
-
- [XmlElement("extension")]
- public Extension[]? Extension { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/DeviceRef.cs b/SabreTools.Models/Listxml/DeviceRef.cs
deleted file mode 100644
index fb00830..0000000
--- a/SabreTools.Models/Listxml/DeviceRef.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("device_ref")]
- public class DeviceRef
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/DipLocation.cs b/SabreTools.Models/Listxml/DipLocation.cs
deleted file mode 100644
index 0419864..0000000
--- a/SabreTools.Models/Listxml/DipLocation.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("diplocation")]
- public class DipLocation
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- /// Numeric?
- [Required]
- [XmlAttribute("number")]
- public string? Number { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("inverted")]
- public string? Inverted { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/DipSwitch.cs b/SabreTools.Models/Listxml/DipSwitch.cs
deleted file mode 100644
index 3df35d8..0000000
--- a/SabreTools.Models/Listxml/DipSwitch.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("dipswitch")]
- public class DipSwitch
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [Required]
- [XmlAttribute("tag")]
- public string? Tag { get; set; }
-
- [XmlAttribute("mask")]
- public string? Mask { get; set; }
-
- [XmlElement("condition")]
- public Condition? Condition { get; set; }
-
- [XmlElement("diplocation")]
- public DipLocation[]? DipLocation { get; set; }
-
- [XmlElement("dipvalue")]
- public DipValue[]? DipValue { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/DipValue.cs b/SabreTools.Models/Listxml/DipValue.cs
deleted file mode 100644
index db2fbe3..0000000
--- a/SabreTools.Models/Listxml/DipValue.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("dipvalue")]
- public class DipValue
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [Required]
- [XmlAttribute("value")]
- public string? Value { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("default")]
- public string? Default { get; set; }
-
- [XmlElement("condition")]
- public Condition? Condition { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Disk.cs b/SabreTools.Models/Listxml/Disk.cs
deleted file mode 100644
index 58de861..0000000
--- a/SabreTools.Models/Listxml/Disk.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("disk")]
- public class Disk
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- /// Only present in older versions
- [XmlAttribute("md5")]
- public string? MD5 { get; set; }
-
- [XmlAttribute("sha1")]
- public string? SHA1 { get; set; }
-
- [XmlAttribute("merge")]
- public string? Merge { get; set; }
-
- [XmlAttribute("region")]
- public string? Region { get; set; }
-
- /// Numeric?
- [XmlAttribute("index")]
- public string? Index { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("writable")]
- public string? Writable { get; set; }
-
- /// (baddump|nodump|good) "good"
- [XmlAttribute("status")]
- public string? Status { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("optional")]
- public string? Optional { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Display.cs b/SabreTools.Models/Listxml/Display.cs
deleted file mode 100644
index dd7dea0..0000000
--- a/SabreTools.Models/Listxml/Display.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("display")]
- public class Display
- {
- [XmlAttribute("tag")]
- public string? Tag { get; set; }
-
- /// (raster|vector|lcd|svg|unknown)
- [Required]
- [XmlAttribute("type")]
- public string? Type { get; set; }
-
- /// (0|90|180|270)
- [XmlAttribute("rotate")]
- public string? Rotate { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("flipx")]
- public string? FlipX { get; set; }
-
- /// Numeric
- [XmlAttribute("width")]
- public string? Width { get; set; }
-
- /// Numeric
- [XmlAttribute("height")]
- public string? Height { get; set; }
-
- /// Numeric
- [Required]
- [XmlAttribute("refresh")]
- public string? Refresh { get; set; }
-
- /// Numeric
- [XmlAttribute("pixclock")]
- public string? PixClock { get; set; }
-
- /// Numeric
- [XmlAttribute("htotal")]
- public string? HTotal { get; set; }
-
- /// Numeric
- [XmlAttribute("hbend")]
- public string? HBEnd { get; set; }
-
- /// Numeric
- [XmlAttribute("hbstart")]
- public string? HBStart { get; set; }
-
- /// Numeric
- [XmlAttribute("vtotal")]
- public string? VTotal { get; set; }
-
- /// Numeric
- [XmlAttribute("vbend")]
- public string? VBEnd { get; set; }
-
- /// Numeric
- [XmlAttribute("vbstart")]
- public string? VBStart { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Driver.cs b/SabreTools.Models/Listxml/Driver.cs
deleted file mode 100644
index ec13a7c..0000000
--- a/SabreTools.Models/Listxml/Driver.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("driver")]
- public class Driver
- {
- /// (good|imperfect|preliminary), (good|preliminary|test) in older versions
- [Required]
- [XmlAttribute("status")]
- public string? Status { get; set; }
-
- /// (good|imperfect|preliminary), Only present in older versions
- [XmlAttribute("color")]
- public string? Color { get; set; }
-
- /// (good|imperfect|preliminary), Only present in older versions
- [XmlAttribute("sound")]
- public string? Sound { get; set; }
-
- /// Only present in older versions
- [XmlAttribute("palettesize")]
- public string? PaletteSize { get; set; }
-
- /// (good|imperfect|preliminary)
- [Required]
- [XmlAttribute("emulation")]
- public string? Emulation { get; set; }
-
- /// (good|imperfect|preliminary)
- [Required]
- [XmlAttribute("cocktail")]
- public string? Cocktail { get; set; }
-
- /// (supported|unsupported)
- [Required]
- [XmlAttribute("savestate")]
- public string? SaveState { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("requiresartwork")]
- public string? RequiresArtwork { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("unofficial")]
- public string? Unofficial { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("nosoundhardware")]
- public string? NoSoundHardware { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("incomplete")]
- public string? Incomplete { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Extension.cs b/SabreTools.Models/Listxml/Extension.cs
deleted file mode 100644
index d5bbfed..0000000
--- a/SabreTools.Models/Listxml/Extension.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("extension")]
- public class Extension
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Feature.cs b/SabreTools.Models/Listxml/Feature.cs
deleted file mode 100644
index 07b986b..0000000
--- a/SabreTools.Models/Listxml/Feature.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("feature")]
- public class Feature
- {
- /// (protection|timing|graphics|palette|sound|capture|camera|microphone|controls|keyboard|mouse|media|disk|printer|tape|punch|drum|rom|comms|lan|wan)
- [Required]
- [XmlAttribute("type")]
- public string? Type { get; set; }
-
- /// (unemulated|imperfect)
- [XmlAttribute("status")]
- public string? Status { get; set; }
-
- /// (unemulated|imperfect)
- [XmlAttribute("overall")]
- public string? Overall { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Game.cs b/SabreTools.Models/Listxml/Game.cs
deleted file mode 100644
index 06bdcba..0000000
--- a/SabreTools.Models/Listxml/Game.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("game")]
- public class Game : GameBase { }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/GameBase.cs b/SabreTools.Models/Listxml/GameBase.cs
deleted file mode 100644
index 5648e50..0000000
--- a/SabreTools.Models/Listxml/GameBase.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- ///
- /// Base class to unify the various game-like types
- ///
- public abstract class GameBase
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- /// Machine only
- [XmlAttribute("sourcefile")]
- public string? SourceFile { get; set; }
-
- /// (yes|no) "no", Machine only
- [XmlAttribute("isbios")]
- public string? IsBios { get; set; }
-
- /// (yes|no) "no", Machine only
- [XmlAttribute("isdevice")]
- public string? IsDevice { get; set; }
-
- /// (yes|no) "no", Machine only
- [XmlAttribute("ismechanical")]
- public string? IsMechanical { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("runnable")]
- public string? Runnable { get; set; }
-
- [XmlAttribute("cloneof")]
- public string? CloneOf { get; set; }
-
- [XmlAttribute("romof")]
- public string? RomOf { get; set; }
-
- [XmlAttribute("sampleof")]
- public string? SampleOf { get; set; }
-
- [Required]
- [XmlElement("description")]
- public string? Description { get; set; }
-
- [XmlElement("year")]
- public string? Year { get; set; }
-
- [XmlElement("manufacturer")]
- public string? Manufacturer { get; set; }
-
- /// Game only
- [XmlElement("history")]
- public string? History { get; set; }
-
- [XmlElement("biosset")]
- public BiosSet[]? BiosSet { get; set; }
-
- [XmlElement("rom")]
- public Rom[]? Rom { get; set; }
-
- [XmlElement("disk")]
- public Disk[]? Disk { get; set; }
-
- [XmlElement("device_ref")]
- public DeviceRef[]? DeviceRef { get; set; }
-
- [XmlElement("sample")]
- public Sample[]? Sample { get; set; }
-
- [XmlElement("chip")]
- public Chip[]? Chip { get; set; }
-
- [XmlElement("display")]
- public Display[]? Display { get; set; }
-
- /// Only present in older versions
- [XmlElement("video")]
- public Video[]? Video { get; set; }
-
- [XmlElement("sound")]
- public Sound? Sound { get; set; }
-
- [XmlElement("input")]
- public Input? Input { get; set; }
-
- [XmlElement("dipswitch")]
- public DipSwitch[]? DipSwitch { get; set; }
-
- [XmlElement("configuration")]
- public Configuration[]? Configuration { get; set; }
-
- [XmlElement("port")]
- public Port[]? Port { get; set; }
-
- [XmlElement("adjuster")]
- public Adjuster[]? Adjuster { get; set; }
-
- [XmlElement("driver")]
- public Driver? Driver { get; set; }
-
- [XmlElement("feature")]
- public Feature[]? Feature { get; set; }
-
- [XmlElement("device")]
- public Device[]? Device { get; set; }
-
- [XmlElement("slot")]
- public Slot[]? Slot { get; set; }
-
- [XmlElement("softwarelist")]
- public SoftwareList[]? SoftwareList { get; set; }
-
- [XmlElement("ramoption")]
- public RamOption[]? RamOption { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Input.cs b/SabreTools.Models/Listxml/Input.cs
deleted file mode 100644
index aa0138b..0000000
--- a/SabreTools.Models/Listxml/Input.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("input")]
- public class Input
- {
- /// (yes|no) "no"
- [XmlAttribute("service")]
- public string? Service { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("tilt")]
- public string? Tilt { get; set; }
-
- /// Numeric
- [Required]
- [XmlAttribute("players")]
- public string? Players { get; set; }
-
- /// Only present in older versions
- [XmlAttribute("control")]
- public string? ControlAttr { get; set; }
-
- /// Only present in older versions, Numeric?
- [XmlAttribute("buttons")]
- public string? Buttons { get; set; }
-
- /// Numeric?
- [XmlAttribute("coins")]
- public string? Coins { get; set; }
-
- [XmlElement("control")]
- public Control[]? Control { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Instance.cs b/SabreTools.Models/Listxml/Instance.cs
deleted file mode 100644
index 27dbc3a..0000000
--- a/SabreTools.Models/Listxml/Instance.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("instance")]
- public class Instance
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [Required]
- [XmlAttribute("briefname")]
- public string? BriefName { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/M1.cs b/SabreTools.Models/Listxml/M1.cs
deleted file mode 100644
index 323c27e..0000000
--- a/SabreTools.Models/Listxml/M1.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("m1")]
- public class M1
- {
- [XmlAttribute("version")]
- public string? Version { get; set; }
-
- [XmlElement("machine", typeof(Machine))]
- [XmlElement("game", typeof(Game))]
- public GameBase[]? Game { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Machine.cs b/SabreTools.Models/Listxml/Machine.cs
deleted file mode 100644
index d4cedaa..0000000
--- a/SabreTools.Models/Listxml/Machine.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("machine")]
- public class Machine : GameBase { }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Mame.cs b/SabreTools.Models/Listxml/Mame.cs
deleted file mode 100644
index f725bde..0000000
--- a/SabreTools.Models/Listxml/Mame.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("mame")]
- public class Mame
- {
- [XmlAttribute("build")]
- public string? Build { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("debug")]
- public string? Debug { get; set; }
-
- [Required]
- [XmlAttribute("mameconfig")]
- public string? MameConfig { get; set; }
-
- [XmlElement("machine", typeof(Machine))]
- [XmlElement("game", typeof(Game))]
- public GameBase[]? Game { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Mess.cs b/SabreTools.Models/Listxml/Mess.cs
deleted file mode 100644
index 759ac12..0000000
--- a/SabreTools.Models/Listxml/Mess.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("mess")]
- public class Mess
- {
- [XmlAttribute("version")]
- public string? Version { get; set; }
-
- [XmlElement("machine", typeof(Machine))]
- [XmlElement("game", typeof(Game))]
- public GameBase[]? Game { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Port.cs b/SabreTools.Models/Listxml/Port.cs
deleted file mode 100644
index db09b6d..0000000
--- a/SabreTools.Models/Listxml/Port.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("port")]
- public class Port
- {
- [Required]
- [XmlAttribute("tag")]
- public string? Tag { get; set; }
-
- [XmlElement("analog")]
- public Analog[]? Analog { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/RamOption.cs b/SabreTools.Models/Listxml/RamOption.cs
deleted file mode 100644
index 17c3c50..0000000
--- a/SabreTools.Models/Listxml/RamOption.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("ramoption")]
- public class RamOption
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlAttribute("default")]
- public string? Default { get; set; }
-
- [XmlText]
- public string? Content { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Rom.cs b/SabreTools.Models/Listxml/Rom.cs
deleted file mode 100644
index 8be0e1d..0000000
--- a/SabreTools.Models/Listxml/Rom.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("rom")]
- public class Rom
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlAttribute("bios")]
- public string? Bios { get; set; }
-
- /// Numeric
- [Required]
- [XmlAttribute("size")]
- public string? Size { get; set; }
-
- [XmlAttribute("crc")]
- public string? CRC { get; set; }
-
- [XmlAttribute("sha1")]
- public string? SHA1 { get; set; }
-
- [XmlAttribute("merge")]
- public string? Merge { get; set; }
-
- [XmlAttribute("region")]
- public string? Region { get; set; }
-
- /// Numeric
- [XmlAttribute("offset")]
- public string? Offset { get; set; }
-
- /// (baddump|nodump|good) "good"
- [XmlAttribute("status")]
- public string? Status { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("optional")]
- public string? Optional { get; set; }
-
- /// (yes|no) "no", Only present in older versions
- [XmlAttribute("dispose")]
- public string? Dispose { get; set; }
-
- /// (yes|no) "no", Only present in older versions
- [XmlAttribute("soundonly")]
- public string? SoundOnly { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Sample.cs b/SabreTools.Models/Listxml/Sample.cs
deleted file mode 100644
index e253edc..0000000
--- a/SabreTools.Models/Listxml/Sample.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("sample")]
- public class Sample
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Slot.cs b/SabreTools.Models/Listxml/Slot.cs
deleted file mode 100644
index 6900b6d..0000000
--- a/SabreTools.Models/Listxml/Slot.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("slot")]
- public class Slot
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlElement("slotoption")]
- public SlotOption[]? SlotOption { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/SlotOption.cs b/SabreTools.Models/Listxml/SlotOption.cs
deleted file mode 100644
index b00b0e4..0000000
--- a/SabreTools.Models/Listxml/SlotOption.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("slotoption")]
- public class SlotOption
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [Required]
- [XmlAttribute("devname")]
- public string? DevName { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("default")]
- public string? Default { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/SoftwareList.cs b/SabreTools.Models/Listxml/SoftwareList.cs
deleted file mode 100644
index 864dc10..0000000
--- a/SabreTools.Models/Listxml/SoftwareList.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("softwarelist")]
- public class SoftwareList
- {
- [Required]
- [XmlAttribute("tag")]
- public string? Tag { get; set; }
-
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- /// (original|compatible)
- [Required]
- [XmlAttribute("status")]
- public string? Status { get; set; }
-
- [XmlAttribute("filter")]
- public string? Filter { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Sound.cs b/SabreTools.Models/Listxml/Sound.cs
deleted file mode 100644
index f278a47..0000000
--- a/SabreTools.Models/Listxml/Sound.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("sound")]
- public class Sound
- {
- /// Numeric
- [Required]
- [XmlAttribute("channels")]
- public string? Channels { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Listxml/Video.cs b/SabreTools.Models/Listxml/Video.cs
deleted file mode 100644
index dd1b3d8..0000000
--- a/SabreTools.Models/Listxml/Video.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Listxml
-{
- [XmlRoot("video")]
- public class Video
- {
- /// (raster|vector)
- [Required]
- [XmlAttribute("screen")]
- public string? Screen { get; set; }
-
- /// (vertical|horizontal)
- [Required]
- [XmlAttribute("orientation")]
- public string? Orientation { get; set; }
-
- /// Numeric
- [XmlAttribute("width")]
- public string? Width { get; set; }
-
- /// Numeric
- [XmlAttribute("height")]
- public string? Height { get; set; }
-
- /// Numeric
- [XmlAttribute("aspectx")]
- public string? AspectX { get; set; }
-
- /// Numeric
- [XmlAttribute("aspecty")]
- public string? AspectY { get; set; }
-
- /// Numeric
- [XmlAttribute("refresh")]
- public string? Refresh { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/Archive.cs b/SabreTools.Models/Logiqx/Archive.cs
deleted file mode 100644
index 1181f91..0000000
--- a/SabreTools.Models/Logiqx/Archive.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("archive")]
- public class Archive
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/BiosSet.cs b/SabreTools.Models/Logiqx/BiosSet.cs
deleted file mode 100644
index ff3bdc1..0000000
--- a/SabreTools.Models/Logiqx/BiosSet.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("biosset")]
- public class BiosSet
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [Required]
- [XmlAttribute("description")]
- public string? Description { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("default")]
- public string? Default { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/ClrMamePro.cs b/SabreTools.Models/Logiqx/ClrMamePro.cs
deleted file mode 100644
index 212444c..0000000
--- a/SabreTools.Models/Logiqx/ClrMamePro.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("clrmamepro")]
- public class ClrMamePro
- {
- [XmlAttribute("header")]
- public string? Header { get; set; }
-
- /// (none|split|merged|nonmerged|fullmerged|device|full) "split"
- [XmlAttribute("forcemerging")]
- public string? ForceMerging { get; set; }
-
- /// (obsolete|required|ignore) "obsolete"
- [XmlAttribute("forcenodump")]
- public string? ForceNodump { get; set; }
-
- /// (zip|unzip) "zip"
- [XmlAttribute("forcepacking")]
- public string? ForcePacking { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/Datafile.cs b/SabreTools.Models/Logiqx/Datafile.cs
deleted file mode 100644
index 757b332..0000000
--- a/SabreTools.Models/Logiqx/Datafile.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("datafile")]
- public class Datafile
- {
- [XmlAttribute("build")]
- public string? Build { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("debug")]
- public string? Debug { get; set; }
-
- /// No-Intro extension
- [XmlAttribute(Namespace = "http://www.w3.org/2001/XMLSchema-instance", AttributeName = "schemaLocation")]
- public string? SchemaLocation { get; set; }
-
- [XmlElement("header")]
- public Header? Header { get; set; }
-
- [XmlElement("game", typeof(Game))]
- [XmlElement("machine", typeof(Machine))]
- public GameBase[]? Game { get; set; }
-
- /// RomVault extension
- [XmlElement("dir")]
- public Dir[]? Dir { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/DeviceRef.cs b/SabreTools.Models/Logiqx/DeviceRef.cs
deleted file mode 100644
index b5c5126..0000000
--- a/SabreTools.Models/Logiqx/DeviceRef.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("device_ref")]
- public class DeviceRef
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/Dir.cs b/SabreTools.Models/Logiqx/Dir.cs
deleted file mode 100644
index b2a9913..0000000
--- a/SabreTools.Models/Logiqx/Dir.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("dir")]
- public class Dir
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlElement("dir", typeof(Dir))]
- public Dir[]? Subdir { get; set; }
-
- [XmlElement("game", typeof(Game))]
- [XmlElement("machine", typeof(Machine))]
- public GameBase[]? Game { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/Disk.cs b/SabreTools.Models/Logiqx/Disk.cs
deleted file mode 100644
index fbbe4d6..0000000
--- a/SabreTools.Models/Logiqx/Disk.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("disk")]
- public class Disk
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlAttribute("md5")]
- public string? MD5 { get; set; }
-
- [XmlAttribute("sha1")]
- public string? SHA1 { get; set; }
-
- [XmlAttribute("merge")]
- public string? Merge { get; set; }
-
- /// (baddump|nodump|good|verified) "good"
- [XmlAttribute("status")]
- public string? Status { get; set; }
-
- /// MAME extension
- [XmlAttribute("region")]
- public string? Region { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/Driver.cs b/SabreTools.Models/Logiqx/Driver.cs
deleted file mode 100644
index a8c2af1..0000000
--- a/SabreTools.Models/Logiqx/Driver.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("driver")]
- public class Driver
- {
- /// (good|imperfect|preliminary)
- [Required]
- [XmlAttribute("status")]
- public string? Status { get; set; }
-
- /// (good|imperfect|preliminary)
- [Required]
- [XmlAttribute("emulation")]
- public string? Emulation { get; set; }
-
- /// (good|imperfect|preliminary)
- [Required]
- [XmlAttribute("cocktail")]
- public string? Cocktail { get; set; }
-
- /// (supported|unsupported)
- [Required]
- [XmlAttribute("savestate")]
- public string? SaveState { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("requiresartwork")]
- public string? RequiresArtwork { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("unofficial")]
- public string? Unofficial { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("nosoundhardware")]
- public string? NoSoundHardware { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("incomplete")]
- public string? Incomplete { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/Game.cs b/SabreTools.Models/Logiqx/Game.cs
deleted file mode 100644
index 9e60cf0..0000000
--- a/SabreTools.Models/Logiqx/Game.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("game")]
- public class Game : GameBase { }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/GameBase.cs b/SabreTools.Models/Logiqx/GameBase.cs
deleted file mode 100644
index 990c0ef..0000000
--- a/SabreTools.Models/Logiqx/GameBase.cs
+++ /dev/null
@@ -1,123 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- ///
- /// Base class to unify the various game-like types
- ///
- public abstract class GameBase
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlAttribute("sourcefile")]
- public string? SourceFile { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("isbios")]
- public string? IsBios { get; set; }
-
- /// (yes|no) "no", MAME extension
- [XmlAttribute("isdevice")]
- public string? IsDevice { get; set; }
-
- /// (yes|no) "no", MAME extension
- [XmlAttribute("ismechanical")]
- public string? IsMechanical { get; set; }
-
- [XmlAttribute("cloneof")]
- public string? CloneOf { get; set; }
-
- [XmlAttribute("romof")]
- public string? RomOf { get; set; }
-
- [XmlAttribute("sampleof")]
- public string? SampleOf { get; set; }
-
- [XmlAttribute("board")]
- public string? Board { get; set; }
-
- [XmlAttribute("rebuildto")]
- public string? RebuildTo { get; set; }
-
- /// No-Intro extension
- [XmlAttribute("id")]
- public string? Id { get; set; }
-
- /// No-Intro extension
- [XmlAttribute("cloneofid")]
- public string? CloneOfId { get; set; }
-
- /// (no|partial|yes) "no"
- [XmlAttribute("runnable")]
- public string? Runnable { get; set; }
-
- [XmlElement("comment")]
- public string[]? Comment { get; set; }
-
- [Required]
- [XmlElement("description")]
- public string? Description { get; set; }
-
- [XmlElement("year")]
- public string? Year { get; set; }
-
- [XmlElement("manufacturer")]
- public string? Manufacturer { get; set; }
-
- [XmlElement("publisher")]
- public string? Publisher { get; set; }
-
- /// No-Intro extension includes more than 1 instance
- [XmlElement("category")]
- public string[]? Category { get; set; }
-
- /// Trurip extension
- [XmlElement("trurip")]
- public Trurip? Trurip { get; set; }
-
- [XmlElement(elementName: "release")]
- public Release[]? Release { get; set; }
-
- [XmlElement("biosset")]
- public BiosSet[]? BiosSet { get; set; }
-
- [XmlElement("rom")]
- public Rom[]? Rom { get; set; }
-
- [XmlElement("disk")]
- public Disk[]? Disk { get; set; }
-
- /// Aaru extension
- [XmlElement("media")]
- public Media[]? Media { get; set; }
-
- /// MAME extension
- [XmlElement("device_ref")]
- public DeviceRef[]? DeviceRef { get; set; }
-
- [XmlElement("sample")]
- public Sample[]? Sample { get; set; }
-
- [XmlElement("archive")]
- public Archive[]? Archive { get; set; }
-
- /// MAME extension
- [XmlElement("driver")]
- public Driver? Driver { get; set; }
-
- /// MAME extension
- [XmlElement("softwarelist")]
- public SoftwareList[]? SoftwareList { get; set; }
-
- /// RetroAchievements extension
- [XmlAttribute("url")]
- public string? Url { get; set; }
-
- /// RetroAchievements extension
- [XmlAttribute("hash")]
- public string? Hash { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/Header.cs b/SabreTools.Models/Logiqx/Header.cs
deleted file mode 100644
index 21c0433..0000000
--- a/SabreTools.Models/Logiqx/Header.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("header")]
- public class Header
- {
- /// No-Intro extension
- [XmlElement("id")]
- public string? Id { get; set; }
-
- [Required]
- [XmlElement("name")]
- public string? Name { get; set; }
-
- [Required]
- [XmlElement("description")]
- public string? Description { get; set; }
-
- /// Trurip extension
- [XmlElement("rootdir")]
- public string? RootDir { get; set; }
-
- [XmlElement("category")]
- public string? Category { get; set; }
-
- [Required]
- [XmlElement("version")]
- public string? Version { get; set; }
-
- [XmlElement("date")]
- public string? Date { get; set; }
-
- [Required]
- [XmlElement("author")]
- public string? Author { get; set; }
-
- [XmlElement("email")]
- public string? Email { get; set; }
-
- [XmlElement("homepage")]
- public string? Homepage { get; set; }
-
- [XmlElement("url")]
- public string? Url { get; set; }
-
- [XmlElement("comment")]
- public string? Comment { get; set; }
-
- /// Trurip extension
- [XmlElement("type")]
- public string? Type { get; set; }
-
- [XmlElement("clrmamepro")]
- public ClrMamePro? ClrMamePro { get; set; }
-
- [XmlElement("romcenter")]
- public RomCenter? RomCenter { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/Machine.cs b/SabreTools.Models/Logiqx/Machine.cs
deleted file mode 100644
index 784be1b..0000000
--- a/SabreTools.Models/Logiqx/Machine.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("machine")]
- public class Machine : GameBase { }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/Media.cs b/SabreTools.Models/Logiqx/Media.cs
deleted file mode 100644
index 07fda29..0000000
--- a/SabreTools.Models/Logiqx/Media.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("media")]
- public class Media
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlAttribute("md5")]
- public string? MD5 { get; set; }
-
- [XmlAttribute("sha1")]
- public string? SHA1 { get; set; }
-
- [XmlAttribute("sha256")]
- public string? SHA256 { get; set; }
-
- [XmlAttribute("spamsum")]
- public string? SpamSum { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/Release.cs b/SabreTools.Models/Logiqx/Release.cs
deleted file mode 100644
index 748900a..0000000
--- a/SabreTools.Models/Logiqx/Release.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("release")]
- public class Release
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [Required]
- [XmlAttribute("region")]
- public string? Region { get; set; }
-
- [XmlAttribute("language")]
- public string? Language { get; set; }
-
- [XmlAttribute("date")]
- public string? Date { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("default")]
- public string? Default { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/Rom.cs b/SabreTools.Models/Logiqx/Rom.cs
deleted file mode 100644
index 63d7ebd..0000000
--- a/SabreTools.Models/Logiqx/Rom.cs
+++ /dev/null
@@ -1,92 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("rom")]
- public class Rom
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [Required]
- [XmlAttribute("size")]
- public string? Size { get; set; }
-
- [XmlAttribute("crc")]
- public string? CRC { get; set; }
-
- /// Hash extension
- [XmlAttribute("md2")]
- public string? MD2 { get; set; }
-
- /// Hash extension
- [XmlAttribute("md4")]
- public string? MD4 { get; set; }
-
- [XmlAttribute("md5")]
- public string? MD5 { get; set; }
-
- /// Hash extension
- [XmlAttribute("ripemd128")]
- public string? RIPEMD128 { get; set; }
-
- /// Hash extension
- [XmlAttribute("ripemd160")]
- public string? RIPEMD160 { get; set; }
-
- [XmlAttribute("sha1")]
- public string? SHA1 { get; set; }
-
- /// Hash/No-Intro extension
- [XmlAttribute("sha256")]
- public string? SHA256 { get; set; }
-
- /// Hash extension
- [XmlAttribute("sha384")]
- public string? SHA384 { get; set; }
-
- /// Hash extension
- [XmlAttribute("sha512")]
- public string? SHA512 { get; set; }
-
- /// Hash extension
- [XmlAttribute("spamsum")]
- public string? SpamSum { get; set; }
-
- /// DiscImgeCreator extension
- [XmlAttribute("xxh3_64")]
- public string? xxHash364 { get; set; }
-
- /// DiscImgeCreator extension
- [XmlAttribute("xxh3_128")]
- public string? xxHash3128 { get; set; }
-
- [XmlAttribute("merge")]
- public string? Merge { get; set; }
-
- /// (baddump|nodump|good|verified) "good"
- [XmlAttribute("status")]
- public string? Status { get; set; }
-
- /// No-Intro extension
- [XmlAttribute("serial")]
- public string? Serial { get; set; }
-
- /// No-Intro extension
- [XmlAttribute("header")]
- public string? Header { get; set; }
-
- [XmlAttribute("date")]
- public string? Date { get; set; }
-
- /// Boolean; RomVault extension
- [XmlAttribute("inverted")]
- public string? Inverted { get; set; }
-
- /// Boolean; RomVault extension
- [XmlAttribute("mia")]
- public string? MIA { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/RomCenter.cs b/SabreTools.Models/Logiqx/RomCenter.cs
deleted file mode 100644
index c6efea2..0000000
--- a/SabreTools.Models/Logiqx/RomCenter.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("romcenter")]
- public class RomCenter
- {
- [XmlAttribute("plugin")]
- public string? Plugin { get; set; }
-
- /// (none|split|merged|unmerged|fullmerged|device|full) "split"
- [XmlAttribute("rommode")]
- public string? RomMode { get; set; }
-
- /// (none|split|merged|unmerged|fullmerged|device|full) "split"
- [XmlAttribute("biosmode")]
- public string? BiosMode { get; set; }
-
- /// (none|split|merged|unmerged|fullmerged|device|full) "merged"
- [XmlAttribute("samplemode")]
- public string? SampleMode { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("lockrommode")]
- public string? LockRomMode { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("lockbiosmode")]
- public string? LockBiosMode { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("locksamplemode")]
- public string? LockSampleMode { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/Sample.cs b/SabreTools.Models/Logiqx/Sample.cs
deleted file mode 100644
index f4964cf..0000000
--- a/SabreTools.Models/Logiqx/Sample.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("sample")]
- public class Sample
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/SoftwareList.cs b/SabreTools.Models/Logiqx/SoftwareList.cs
deleted file mode 100644
index 8541858..0000000
--- a/SabreTools.Models/Logiqx/SoftwareList.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("softwarelist")]
- public class SoftwareList
- {
- [Required]
- [XmlAttribute("tag")]
- public string? Tag { get; set; }
-
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- /// (original|compatible)
- [Required]
- [XmlAttribute("status")]
- public string? Status { get; set; }
-
- [XmlAttribute("filter")]
- public string? Filter { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Logiqx/Trurip.cs b/SabreTools.Models/Logiqx/Trurip.cs
deleted file mode 100644
index a440c26..0000000
--- a/SabreTools.Models/Logiqx/Trurip.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.Logiqx
-{
- [XmlRoot("trurip")]
- public class Trurip
- {
- [XmlElement("titleid")]
- public string? TitleID { get; set; }
-
- [XmlElement("publisher")]
- public string? Publisher { get; set; }
-
- [XmlElement("developer")]
- public string? Developer { get; set; }
-
- [XmlElement("year")]
- public string? Year { get; set; }
-
- [XmlElement("genre")]
- public string? Genre { get; set; }
-
- [XmlElement("subgenre")]
- public string? Subgenre { get; set; }
-
- [XmlElement("ratings")]
- public string? Ratings { get; set; }
-
- [XmlElement("score")]
- public string? Score { get; set; }
-
- [XmlElement("players")]
- public string? Players { get; set; }
-
- /// Boolean?
- [XmlElement("enabled")]
- public string? Enabled { get; set; }
-
- [XmlElement("crc")]
- public string? CRC { get; set; }
-
- [XmlElement("source")]
- public string? Source { get; set; }
-
- [XmlElement("cloneof")]
- public string? CloneOf { get; set; }
-
- [XmlElement("relatedto")]
- public string? RelatedTo { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Metadata/Adjuster.cs b/SabreTools.Models/Metadata/Adjuster.cs
deleted file mode 100644
index d456278..0000000
--- a/SabreTools.Models/Metadata/Adjuster.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("adjuster"), XmlRoot("adjuster")]
- public class Adjuster : DatItem
- {
- #region Keys
-
- // Condition
- [NoFilter]
- public const string ConditionKey = "condition";
-
- /// bool
- public const string DefaultKey = "default";
-
- /// string
- public const string NameKey = "name";
-
- #endregion
-
- public Adjuster() => Type = ItemType.Adjuster;
- }
-}
diff --git a/SabreTools.Models/Metadata/Analog.cs b/SabreTools.Models/Metadata/Analog.cs
deleted file mode 100644
index 4e54663..0000000
--- a/SabreTools.Models/Metadata/Analog.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("analog"), XmlRoot("analog")]
- public class Analog : DatItem
- {
- #region Keys
-
- /// string
- public const string MaskKey = "mask";
-
- #endregion
-
- public Analog() => Type = ItemType.Analog;
- }
-}
diff --git a/SabreTools.Models/Metadata/Archive.cs b/SabreTools.Models/Metadata/Archive.cs
deleted file mode 100644
index b8078ba..0000000
--- a/SabreTools.Models/Metadata/Archive.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("archive"), XmlRoot("archive")]
- public class Archive : DatItem
- {
- #region Keys
-
- /// string
- public const string NameKey = "name";
-
- #endregion
-
- public Archive() => Type = ItemType.Archive;
- }
-}
diff --git a/SabreTools.Models/Metadata/BiosSet.cs b/SabreTools.Models/Metadata/BiosSet.cs
deleted file mode 100644
index ba824d9..0000000
--- a/SabreTools.Models/Metadata/BiosSet.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("biosset"), XmlRoot("biosset")]
- public class BiosSet : DatItem
- {
- #region Keys
-
- /// bool
- public const string DefaultKey = "default";
-
- /// string
- public const string DescriptionKey = "description";
-
- /// string
- public const string NameKey = "name";
-
- #endregion
-
- public BiosSet() => Type = ItemType.BiosSet;
- }
-}
diff --git a/SabreTools.Models/Metadata/Blank.cs b/SabreTools.Models/Metadata/Blank.cs
deleted file mode 100644
index aecb06f..0000000
--- a/SabreTools.Models/Metadata/Blank.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("blank"), XmlRoot("blank")]
- public class Blank : DatItem
- {
- public Blank() => Type = ItemType.Blank;
- }
-}
diff --git a/SabreTools.Models/Metadata/Chip.cs b/SabreTools.Models/Metadata/Chip.cs
deleted file mode 100644
index 2654fc8..0000000
--- a/SabreTools.Models/Metadata/Chip.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("chip"), XmlRoot("chip")]
- public class Chip : DatItem
- {
- #region Keys
-
- /// long
- public const string ClockKey = "clock";
-
- /// string
- public const string FlagsKey = "flags";
-
- /// string
- public const string NameKey = "name";
-
- /// (yes|no) "no"
- public const string SoundOnlyKey = "soundonly";
-
- /// string
- public const string TagKey = "tag";
-
- /// (cpu|audio)
- public const string ChipTypeKey = "type";
-
- #endregion
-
- public Chip() => Type = ItemType.Chip;
- }
-}
diff --git a/SabreTools.Models/Metadata/Condition.cs b/SabreTools.Models/Metadata/Condition.cs
deleted file mode 100644
index 0c6cf0a..0000000
--- a/SabreTools.Models/Metadata/Condition.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("condition"), XmlRoot("condition")]
- public class Condition : DatItem
- {
- #region Keys
-
- /// string
- public const string ValueKey = "clock";
-
- /// string
- public const string MaskKey = "mask";
-
- /// (eq|ne|gt|le|lt|ge)
- public const string RelationKey = "relation";
-
- /// string
- public const string TagKey = "tag";
-
- #endregion
-
- public Condition() => Type = ItemType.Condition;
- }
-}
diff --git a/SabreTools.Models/Metadata/ConfLocation.cs b/SabreTools.Models/Metadata/ConfLocation.cs
deleted file mode 100644
index a48ac4a..0000000
--- a/SabreTools.Models/Metadata/ConfLocation.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("conflocation"), XmlRoot("conflocation")]
- public class ConfLocation : DatItem
- {
- #region Keys
-
- /// (yes|no) "no"
- public const string InvertedKey = "inverted";
-
- /// string
- public const string NameKey = "name";
-
- /// string, possibly long
- public const string NumberKey = "number";
-
- #endregion
-
- public ConfLocation() => Type = ItemType.ConfLocation;
- }
-}
diff --git a/SabreTools.Models/Metadata/ConfSetting.cs b/SabreTools.Models/Metadata/ConfSetting.cs
deleted file mode 100644
index 84e366d..0000000
--- a/SabreTools.Models/Metadata/ConfSetting.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("confsetting"), XmlRoot("confsetting")]
- public class ConfSetting : DatItem
- {
- #region Keys
-
- /// Condition
- [NoFilter]
- public const string ConditionKey = "condition";
-
- /// (yes|no) "no"
- public const string DefaultKey = "default";
-
- /// string
- public const string NameKey = "name";
-
- /// string
- public const string ValueKey = "value";
-
- #endregion
-
- public ConfSetting() => Type = ItemType.ConfSetting;
- }
-}
diff --git a/SabreTools.Models/Metadata/Configuration.cs b/SabreTools.Models/Metadata/Configuration.cs
deleted file mode 100644
index ca9215d..0000000
--- a/SabreTools.Models/Metadata/Configuration.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("configuration"), XmlRoot("configuration")]
- public class Configuration : DatItem
- {
- #region Keys
-
- /// Condition
- [NoFilter]
- public const string ConditionKey = "condition";
-
- /// ConfLocation[]
- [NoFilter]
- public const string ConfLocationKey = "conflocation";
-
- /// ConfSetting[]
- [NoFilter]
- public const string ConfSettingKey = "confsetting";
-
- /// string
- public const string MaskKey = "mask";
-
- /// string
- public const string NameKey = "name";
-
- /// string
- public const string TagKey = "tag";
-
- #endregion
-
- public Configuration() => Type = ItemType.Configuration;
- }
-}
diff --git a/SabreTools.Models/Metadata/Control.cs b/SabreTools.Models/Metadata/Control.cs
deleted file mode 100644
index 3244313..0000000
--- a/SabreTools.Models/Metadata/Control.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("control"), XmlRoot("control")]
- public class Control : DatItem
- {
- #region Keys
-
- /// long
- public const string ButtonsKey = "buttons";
-
- /// long
- public const string KeyDeltaKey = "keydelta";
-
- /// long
- public const string MaximumKey = "maximum";
-
- /// long
- public const string MinimumKey = "minimum";
-
- /// long
- public const string PlayerKey = "player";
-
- /// long
- public const string ReqButtonsKey = "reqbuttons";
-
- /// (yes|no) "no"
- public const string ReverseKey = "reverse";
-
- /// long
- public const string SensitivityKey = "sensitivity";
-
- /// (joy|stick|paddle|pedal|lightgun|positional|dial|trackball|mouse|only_buttons|keypad|keyboard|mahjong|hanafuda|gambling)
- public const string ControlTypeKey = "type";
-
- /// string, possibly long
- public const string WaysKey = "ways";
-
- /// string, possibly long
- public const string Ways2Key = "ways2";
-
- /// string, possibly long
- public const string Ways3Key = "ways3";
-
- #endregion
-
- public Control() => Type = ItemType.Control;
- }
-}
diff --git a/SabreTools.Models/Metadata/DatItem.cs b/SabreTools.Models/Metadata/DatItem.cs
deleted file mode 100644
index 9046493..0000000
--- a/SabreTools.Models/Metadata/DatItem.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- ///
- /// Format-agnostic representation of item data
- ///
- public class DatItem : DictionaryBase
- {
- #region Common Keys
-
- public const string TypeKey = "_type";
-
- #endregion
-
- ///
- /// Quick accessor to item type, if it exists
- ///
- [JsonProperty("itemtype", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("itemtype")]
- public ItemType? Type
- {
- get => ContainsKey(TypeKey) ? this[TypeKey] as ItemType? : null;
- set => this[TypeKey] = value;
- }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Metadata/DataArea.cs b/SabreTools.Models/Metadata/DataArea.cs
deleted file mode 100644
index b076844..0000000
--- a/SabreTools.Models/Metadata/DataArea.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("dataarea"), XmlRoot("dataarea")]
- public class DataArea : DatItem
- {
- #region Keys
-
- /// (big|little) "little"
- public const string EndiannessKey = "endianness";
-
- /// string
- public const string NameKey = "name";
-
- /// Rom[]
- [NoFilter]
- public const string RomKey = "rom";
-
- /// long
- public const string SizeKey = "size";
-
- /// (8|16|32|64) "8"
- public const string WidthKey = "width";
-
- #endregion
-
- public DataArea() => Type = ItemType.DataArea;
- }
-}
diff --git a/SabreTools.Models/Metadata/Device.cs b/SabreTools.Models/Metadata/Device.cs
deleted file mode 100644
index 4875770..0000000
--- a/SabreTools.Models/Metadata/Device.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("device"), XmlRoot("device")]
- public class Device : DatItem
- {
- #region Keys
-
- /// Extension[]
- [NoFilter]
- public const string ExtensionKey = "extension";
-
- /// string
- public const string FixedImageKey = "fixed_image";
-
- /// Instance
- [NoFilter]
- public const string InstanceKey = "instance";
-
- /// string
- public const string InterfaceKey = "interface";
-
- /// (0|1) "0"
- public const string MandatoryKey = "mandatory";
-
- /// string
- public const string TagKey = "tag";
-
- /// (unknown|cartridge|floppydisk|harddisk|cylinder|cassette|punchcard|punchtape|printout|serial|parallel|snapshot|quickload|memcard|cdrom|magtape|romimage|midiin|midiout|picture|vidfile)
- public const string DeviceTypeKey = "type";
-
- #endregion
-
- public Device() => Type = ItemType.Device;
- }
-}
diff --git a/SabreTools.Models/Metadata/DeviceRef.cs b/SabreTools.Models/Metadata/DeviceRef.cs
deleted file mode 100644
index d35f1cd..0000000
--- a/SabreTools.Models/Metadata/DeviceRef.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("device_ref"), XmlRoot("device_ref")]
- public class DeviceRef : DatItem
- {
- #region Keys
-
- /// string
- public const string NameKey = "name";
-
- #endregion
-
- public DeviceRef() => Type = ItemType.DeviceRef;
- }
-}
diff --git a/SabreTools.Models/Metadata/DictionaryBase.cs b/SabreTools.Models/Metadata/DictionaryBase.cs
deleted file mode 100644
index 3367515..0000000
--- a/SabreTools.Models/Metadata/DictionaryBase.cs
+++ /dev/null
@@ -1,153 +0,0 @@
-using System.Collections.Generic;
-
-namespace SabreTools.Models.Metadata
-{
- ///
- /// Specialized dictionary base for item types
- ///
- public abstract class DictionaryBase : Dictionary
- {
- ///
- /// Read a key as the specified type, returning null on error
- ///
- public T? Read(string key)
- {
- try
- {
- if (!ValidateKey(key))
- return default;
- if (this[key] is not T)
- return default;
- return (T?)this[key];
- }
- catch
- {
- return default;
- }
- }
-
- ///
- /// Read a key as a bool, returning null on error
- ///
- public bool? ReadBool(string key)
- {
- if (!ValidateKey(key))
- return null;
-
- bool? asBool = Read(key);
- if (asBool != null)
- return asBool;
-
- string? asString = Read(key);
- return asString?.ToLowerInvariant() switch
- {
- "true" or "yes" => true,
- "false" or "no" => false,
- _ => null,
- };
- }
-
- ///
- /// Read a key as a double, returning null on error
- ///
- public double? ReadDouble(string key)
- {
- if (!ValidateKey(key))
- return null;
-
- double? asDouble = Read(key);
- if (asDouble != null)
- return asDouble;
-
- string? asString = Read(key);
- if (asString != null && double.TryParse(asString, out double asStringDouble))
- return asStringDouble;
-
- return null;
- }
-
- ///
- /// Read a key as a long, returning null on error
- ///
- /// TODO: Add logic to convert SI suffixes and hex
- public long? ReadLong(string key)
- {
- if (!ValidateKey(key))
- return null;
-
- long? asLong = Read(key);
- if (asLong != null)
- return asLong;
-
- string? asString = Read(key);
- if (asString != null && long.TryParse(asString, out long asStringLong))
- return asStringLong;
-
- return null;
- }
-
- ///
- /// Read a key as a string, returning null on error
- ///
- public string? ReadString(string key)
- {
- if (!ValidateKey(key))
- return null;
-
- string? asString = Read(key);
- if (asString != null)
- return asString;
-
- string[]? asArray = Read(key);
- if (asArray != null)
-#if NETFRAMEWORK || NETSTANDARD2_0
- return string.Join(",", asArray);
-#else
- return string.Join(',', asArray);
-#endif
-
- // TODO: Add byte array conversion here
- // TODO: Add byte array read helper
-
- return this[key]!.ToString();
- }
-
- ///
- /// Read a key as a string[], returning null on error
- ///
- public string[]? ReadStringArray(string key)
- {
- if (!ValidateKey(key))
- return null;
-
- string[]? asArray = Read(key);
- if (asArray != null)
- return asArray;
-
- string? asString = Read(key);
- if (asString != null)
- return [asString];
-
- asString = this[key]!.ToString();
- if (asString != null)
- return [asString];
-
- return null;
- }
-
- ///
- /// Check if a key is valid
- ///
- private bool ValidateKey(string key)
- {
- if (string.IsNullOrEmpty(key))
- return false;
- else if (!ContainsKey(key))
- return false;
- else if (this[key] == null)
- return false;
-
- return true;
- }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Metadata/DipLocation.cs b/SabreTools.Models/Metadata/DipLocation.cs
deleted file mode 100644
index 34a84f1..0000000
--- a/SabreTools.Models/Metadata/DipLocation.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("diplocation"), XmlRoot("diplocation")]
- public class DipLocation : DatItem
- {
- #region Keys
-
- /// (yes|no) "no"
- public const string InvertedKey = "inverted";
-
- /// string
- public const string NameKey = "name";
-
- /// string, possibly long
- public const string NumberKey = "number";
-
- #endregion
-
- public DipLocation() => Type = ItemType.DipLocation;
- }
-}
diff --git a/SabreTools.Models/Metadata/DipSwitch.cs b/SabreTools.Models/Metadata/DipSwitch.cs
deleted file mode 100644
index efab78d..0000000
--- a/SabreTools.Models/Metadata/DipSwitch.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("dipswitch"), XmlRoot("dipswitch")]
- public class DipSwitch : DatItem
- {
- #region Keys
-
- /// Condition
- [NoFilter]
- public const string ConditionKey = "condition";
-
- /// (yes|no) "no"
- public const string DefaultKey = "default";
-
- /// DipLocation[]
- [NoFilter]
- public const string DipLocationKey = "diplocation";
-
- /// DipValue[]
- [NoFilter]
- public const string DipValueKey = "dipvalue";
-
- /// string[]
- public const string EntryKey = "entry";
-
- /// string
- public const string MaskKey = "mask";
-
- /// string
- public const string NameKey = "name";
-
- /// string
- public const string TagKey = "tag";
-
- #endregion
-
- public DipSwitch() => Type = ItemType.DipSwitch;
- }
-}
diff --git a/SabreTools.Models/Metadata/DipValue.cs b/SabreTools.Models/Metadata/DipValue.cs
deleted file mode 100644
index 645a33c..0000000
--- a/SabreTools.Models/Metadata/DipValue.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("dipvalue"), XmlRoot("dipvalue")]
- public class DipValue : DatItem
- {
- #region Keys
-
- /// Condition
- [NoFilter]
- public const string ConditionKey = "condition";
-
- /// (yes|no) "no"
- public const string DefaultKey = "default";
-
- /// string
- public const string NameKey = "name";
-
- /// string
- public const string ValueKey = "value";
-
- #endregion
-
- public DipValue() => Type = ItemType.DipValue;
- }
-}
diff --git a/SabreTools.Models/Metadata/Disk.cs b/SabreTools.Models/Metadata/Disk.cs
deleted file mode 100644
index ffea372..0000000
--- a/SabreTools.Models/Metadata/Disk.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("disk"), XmlRoot(elementName: "disk")]
- public class Disk : DatItem
- {
- #region Keys
-
- /// string
- public const string FlagsKey = "flags";
-
- /// string, possibly long
- public const string IndexKey = "index";
-
- /// string
- public const string MD5Key = "md5";
-
- /// string
- public const string MergeKey = "merge";
-
- /// string
- public const string NameKey = "name";
-
- /// (yes|no) "no"
- public const string OptionalKey = "optional";
-
- /// string
- public const string RegionKey = "region";
-
- /// string
- public const string SHA1Key = "sha1";
-
- /// (baddump|nodump|good|verified) "good"
- public const string StatusKey = "status";
-
- /// (yes|no) "no"
- public const string WritableKey = "writable";
-
- #endregion
-
- public Disk() => Type = ItemType.Disk;
- }
-}
diff --git a/SabreTools.Models/Metadata/DiskArea.cs b/SabreTools.Models/Metadata/DiskArea.cs
deleted file mode 100644
index 0290d4b..0000000
--- a/SabreTools.Models/Metadata/DiskArea.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("diskarea"), XmlRoot("diskarea")]
- public class DiskArea : DatItem
- {
- #region Keys
-
- /// Disk[]
- [NoFilter]
- public const string DiskKey = "disk";
-
- /// string
- public const string NameKey = "name";
-
- #endregion
-
- public DiskArea() => Type = ItemType.DiskArea;
- }
-}
diff --git a/SabreTools.Models/Metadata/Display.cs b/SabreTools.Models/Metadata/Display.cs
deleted file mode 100644
index 49edbd5..0000000
--- a/SabreTools.Models/Metadata/Display.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("display"), XmlRoot("display")]
- public class Display : DatItem
- {
- #region Keys
-
- /// (yes|no) "no"
- public const string FlipXKey = "flipx";
-
- /// long
- public const string HBEndKey = "hbend";
-
- /// long
- public const string HBStartKey = "hbstart";
-
- /// long
- public const string HeightKey = "height";
-
- /// long
- public const string HTotalKey = "htotal";
-
- /// long
- public const string PixClockKey = "pixclock";
-
- /// double
- public const string RefreshKey = "refresh";
-
- /// (0|90|180|270)
- public const string RotateKey = "rotate";
-
- /// string
- public const string TagKey = "tag";
-
- /// (raster|vector|lcd|svg|unknown)
- public const string DisplayTypeKey = "type";
-
- /// long
- public const string VBEndKey = "vbend";
-
- /// long
- public const string VBStartKey = "vbstart";
-
- /// long
- public const string VTotalKey = "vtotal";
-
- /// long
- public const string WidthKey = "width";
-
- #endregion
-
- public Display() => Type = ItemType.Display;
- }
-}
diff --git a/SabreTools.Models/Metadata/Driver.cs b/SabreTools.Models/Metadata/Driver.cs
deleted file mode 100644
index af11dca..0000000
--- a/SabreTools.Models/Metadata/Driver.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("driver"), XmlRoot("driver")]
- public class Driver : DatItem
- {
- #region Keys
-
- /// (plain|dirty)
- public const string BlitKey = "blit";
-
- /// (good|imperfect|preliminary)
- public const string CocktailKey = "cocktail";
-
- /// (good|imperfect|preliminary)
- public const string ColorKey = "color";
-
- /// (good|imperfect|preliminary)
- public const string EmulationKey = "emulation";
-
- /// (yes|no) "no"
- public const string IncompleteKey = "incomplete";
-
- /// (yes|no) "no"
- public const string NoSoundHardwareKey = "nosoundhardware";
-
- /// string, possibly long
- public const string PaletteSizeKey = "palettesize";
-
- /// (yes|no) "no"
- public const string RequiresArtworkKey = "requiresartwork";
-
- /// (supported|unsupported)
- public const string SaveStateKey = "savestate";
-
- /// (good|imperfect|preliminary)
- public const string SoundKey = "sound";
-
- /// (good|imperfect|preliminary|test)
- public const string StatusKey = "status";
-
- /// (yes|no) "no"
- public const string UnofficialKey = "unofficial";
-
- #endregion
-
- public Driver() => Type = ItemType.Driver;
- }
-}
diff --git a/SabreTools.Models/Metadata/Dump.cs b/SabreTools.Models/Metadata/Dump.cs
deleted file mode 100644
index 49ae898..0000000
--- a/SabreTools.Models/Metadata/Dump.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("dump"), XmlRoot("dump")]
- public class Dump : DatItem
- {
- #region Keys
-
- /// Rom
- [NoFilter]
- public const string MegaRomKey = "megarom";
-
- /// Original
- [NoFilter]
- public const string OriginalKey = "original";
-
- /// Rom
- [NoFilter]
- public const string RomKey = "rom";
-
- /// Rom
- [NoFilter]
- public const string SCCPlusCartKey = "sccpluscart";
-
- #endregion
-
- public Dump() => Type = ItemType.Dump;
- }
-}
diff --git a/SabreTools.Models/Metadata/Extension.cs b/SabreTools.Models/Metadata/Extension.cs
deleted file mode 100644
index e0c2bf5..0000000
--- a/SabreTools.Models/Metadata/Extension.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("extension"), XmlRoot("extension")]
- public class Extension : DatItem
- {
- #region Keys
-
- /// string
- public const string NameKey = "name";
-
- #endregion
-
- public Extension() => Type = ItemType.Extension;
- }
-}
diff --git a/SabreTools.Models/Metadata/Feature.cs b/SabreTools.Models/Metadata/Feature.cs
deleted file mode 100644
index 6f8ed5d..0000000
--- a/SabreTools.Models/Metadata/Feature.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("feature"), XmlRoot("feature")]
- public class Feature : DatItem
- {
- #region Keys
-
- /// string
- public const string NameKey = "name";
-
- /// (unemulated|imperfect)
- public const string OverallKey = "overall";
-
- /// (unemulated|imperfect)
- public const string StatusKey = "status";
-
- /// (protection|timing|graphics|palette|sound|capture|camera|microphone|controls|keyboard|mouse|media|disk|printer|tape|punch|drum|rom|comms|lan|wan)
- public const string FeatureTypeKey = "type";
-
- /// string
- public const string ValueKey = "value";
-
- #endregion
-
- public Feature() => Type = ItemType.Feature;
- }
-}
diff --git a/SabreTools.Models/Metadata/Header.cs b/SabreTools.Models/Metadata/Header.cs
deleted file mode 100644
index 474c022..0000000
--- a/SabreTools.Models/Metadata/Header.cs
+++ /dev/null
@@ -1,154 +0,0 @@
-namespace SabreTools.Models.Metadata
-{
- ///
- /// Format-agnostic representation of metadata header data
- ///
- public class Header : DictionaryBase
- {
- #region Keys
-
- /// string
- public const string AuthorKey = "author";
-
- /// (none|split|merged|nonmerged|fullmerged|device|full) "split"
- public const string BiosModeKey = "biosmode";
-
- /// string
- public const string BuildKey = "build";
-
- /// TODO: This needs an internal model OR mapping to fields
- /// CanOpen
- [NoFilter]
- public const string CanOpenKey = "canOpen";
-
- /// string
- public const string CategoryKey = "category";
-
- /// string
- public const string CommentKey = "comment";
-
- /// string
- public const string DateKey = "date";
-
- /// string
- public const string DatVersionKey = "datversion";
-
- /// (yes|no) "no"
- public const string DebugKey = "debug";
-
- /// string
- public const string DescriptionKey = "description";
-
- /// string
- public const string EmailKey = "email";
-
- /// string
- public const string EmulatorVersionKey = "emulatorversion";
-
- /// (none|split|merged|nonmerged|fullmerged|device|full) "split"
- public const string ForceMergingKey = "forcemerging";
-
- /// (obsolete|required|ignore) "obsolete"
- public const string ForceNodumpKey = "forcenodump";
-
- /// (zip|unzip) "zip"
- public const string ForcePackingKey = "forcepacking";
-
- /// (yes|no) "yes"
- public const string ForceZippingKey = "forcezipping";
-
- /// string, string[]
- public const string HeaderKey = "header";
-
- /// string
- public const string HomepageKey = "homepage";
-
- /// string
- public const string IdKey = "id";
-
- /// TODO: This needs an internal model OR mapping to fields
- /// Search
- [NoFilter]
- public const string ImagesKey = "images";
-
- /// string
- public const string ImFolderKey = "imFolder";
-
- /// TODO: This needs an internal model OR mapping to fields
- /// Infos
- [NoFilter]
- public const string InfosKey = "infos";
-
- /// (yes|no) "no"
- public const string LockBiosModeKey = "lockbiosmode";
-
- /// (yes|no) "no"
- public const string LockRomModeKey = "lockrommode";
-
- /// (yes|no) "no"
- public const string LockSampleModeKey = "locksamplemode";
-
- /// string
- public const string MameConfigKey = "mameconfig";
-
- /// string
- public const string NameKey = "name";
-
- /// TODO: This needs an internal model OR mapping to fields
- /// NewDat
- [NoFilter]
- public const string NewDatKey = "newDat";
-
- /// string
- public const string NotesKey = "notes";
-
- /// string
- public const string PluginKey = "plugin";
-
- /// string
- public const string RefNameKey = "refname";
-
- /// (none|split|merged|nonmerged|fullmerged|device|full) "split"
- public const string RomModeKey = "rommode";
-
- /// string
- public const string RomTitleKey = "romTitle";
-
- /// string
- public const string RootDirKey = "rootdir";
-
- /// (none|split|merged|nonmerged|fullmerged|device|full) "split"
- public const string SampleModeKey = "samplemode";
-
- /// string
- public const string SchemaLocationKey = "schemaLocation";
-
- /// string
- public const string ScreenshotsHeightKey = "screenshotsHeight";
-
- /// string
- public const string ScreenshotsWidthKey = "screenshotsWidth";
-
- /// TODO: This needs an internal model OR mapping to fields
- /// Search
- [NoFilter]
- public const string SearchKey = "search";
-
- /// string
- public const string SystemKey = "system";
-
- /// string
- public const string TimestampKey = "timestamp";
-
- /// string
- public const string TypeKey = "type";
-
- /// string
- public const string UrlKey = "url";
-
- /// string
- public const string VersionKey = "version";
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Metadata/Info.cs b/SabreTools.Models/Metadata/Info.cs
deleted file mode 100644
index 397fa6f..0000000
--- a/SabreTools.Models/Metadata/Info.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("info"), XmlRoot("info")]
- public class Info : DatItem
- {
- #region Keys
-
- /// string
- public const string NameKey = "name";
-
- /// string
- public const string ValueKey = "value";
-
- #endregion
-
- public Info() => Type = ItemType.Info;
- }
-}
diff --git a/SabreTools.Models/Metadata/Input.cs b/SabreTools.Models/Metadata/Input.cs
deleted file mode 100644
index d0c60b2..0000000
--- a/SabreTools.Models/Metadata/Input.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("input"), XmlRoot("input")]
- public class Input : DatItem
- {
- #region Keys
-
- /// long
- public const string ButtonsKey = "buttons";
-
- /// long
- public const string CoinsKey = "coins";
-
- /// string / Control[]
- public const string ControlKey = "control";
-
- /// long
- public const string PlayersKey = "players";
-
- /// (yes|no) "no"
- public const string ServiceKey = "service";
-
- /// (yes|no) "no"
- public const string TiltKey = "tilt";
-
- #endregion
-
- public Input() => Type = ItemType.Input;
- }
-}
diff --git a/SabreTools.Models/Metadata/Instance.cs b/SabreTools.Models/Metadata/Instance.cs
deleted file mode 100644
index 8640d0a..0000000
--- a/SabreTools.Models/Metadata/Instance.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("instance"), XmlRoot("instance")]
- public class Instance : DatItem
- {
- #region Keys
-
- /// string
- public const string BriefNameKey = "briefname";
-
- /// string
- public const string NameKey = "name";
-
- #endregion
-
- public Instance() => Type = ItemType.Instance;
- }
-}
diff --git a/SabreTools.Models/Metadata/ItemType.cs b/SabreTools.Models/Metadata/ItemType.cs
deleted file mode 100644
index 8bc80bc..0000000
--- a/SabreTools.Models/Metadata/ItemType.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-namespace SabreTools.Models.Metadata
-{
- ///
- /// Determine what type of file an item is
- ///
- public enum ItemType
- {
- ///
- /// This is a fake flag that is used for filter only
- ///
- NULL = 0,
-
- Adjuster,
- Analog,
- Archive,
- BiosSet,
- Chip,
- Condition,
- Configuration,
- ConfLocation,
- ConfSetting,
- Control,
- DataArea,
- Device,
- DeviceRef,
- DipLocation,
- DipSwitch,
- DipValue,
- Disk,
- DiskArea,
- Display,
- Driver,
- Dump,
- Extension,
- Feature,
- Info,
- Input,
- Instance,
- Media,
- Original,
- Part,
- Port,
- RamOption,
- Release,
- Rom,
- Sample,
- SharedFeat,
- Slot,
- SlotOption,
- Software,
- SoftwareList,
- Sound,
- Video,
-
- ///
- /// This is not a real type, only used internally
- ///
- Blank = int.MaxValue,
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Metadata/Machine.cs b/SabreTools.Models/Metadata/Machine.cs
deleted file mode 100644
index 8c48d04..0000000
--- a/SabreTools.Models/Metadata/Machine.cs
+++ /dev/null
@@ -1,278 +0,0 @@
-namespace SabreTools.Models.Metadata
-{
- ///
- /// Format-agnostic representation of game, machine, and set data
- ///
- public class Machine : DictionaryBase
- {
- #region Keys
-
- /// Adjuster[]
- [NoFilter]
- public const string AdjusterKey = "adjuster";
-
- /// Archive[]
- [NoFilter]
- public const string ArchiveKey = "archive";
-
- /// BiosSet[]
- [NoFilter]
- public const string BiosSetKey = "biosset";
-
- /// string
- public const string BoardKey = "board";
-
- /// string
- public const string ButtonsKey = "buttons";
-
- /// string, string[]
- public const string CategoryKey = "category";
-
- /// Chip[]
- [NoFilter]
- public const string ChipKey = "chip";
-
- /// string
- public const string CloneOfKey = "cloneof";
-
- /// string
- public const string CloneOfIdKey = "cloneofid";
-
- /// string, string[]
- public const string CommentKey = "comment";
-
- /// string
- public const string CompanyKey = "company";
-
- /// Configuration[]
- [NoFilter]
- public const string ConfigurationKey = "configuration";
-
- /// string
- public const string ControlKey = "control";
-
- /// string
- public const string CountryKey = "country";
-
- /// string
- public const string DescriptionKey = "description";
-
- /// Device[]
- [NoFilter]
- public const string DeviceKey = "device";
-
- /// DeviceRef[]
- [NoFilter]
- public const string DeviceRefKey = "device_ref";
-
- /// DipSwitch[]
- [NoFilter]
- public const string DipSwitchKey = "dipswitch";
-
- /// string
- public const string DirNameKey = "dirName";
-
- /// Disk[]
- [NoFilter]
- public const string DiskKey = "disk";
-
- /// string
- public const string DisplayCountKey = "displaycount";
-
- /// Display[]
- [NoFilter]
- public const string DisplayKey = "display";
-
- /// string
- public const string DisplayTypeKey = "displaytype";
-
- /// Driver
- [NoFilter]
- public const string DriverKey = "driver";
-
- /// Dump[]
- [NoFilter]
- public const string DumpKey = "dump";
-
- /// string
- public const string DuplicateIDKey = "duplicateID";
-
- /// string
- public const string EmulatorKey = "emulator";
-
- /// string
- public const string ExtraKey = "extra";
-
- /// string
- public const string FavoriteKey = "favorite";
-
- /// Feature[]
- [NoFilter]
- public const string FeatureKey = "feature";
-
- /// string
- public const string GenMSXIDKey = "genmsxid";
-
- /// string
- public const string HashKey = "hash";
-
- /// string
- public const string HistoryKey = "history";
-
- /// string
- public const string IdKey = "id";
-
- /// string
- public const string Im1CRCKey = "im1CRC";
-
- /// string
- public const string Im2CRCKey = "im2CRC";
-
- /// string
- public const string ImageNumberKey = "imageNumber";
-
- /// Info[]
- [NoFilter]
- public const string InfoKey = "info";
-
- /// Input
- [NoFilter]
- public const string InputKey = "input";
-
- /// (yes|no) "no"
- public const string IsBiosKey = "isbios";
-
- /// (yes|no) "no"
- public const string IsDeviceKey = "isdevice";
-
- /// (yes|no) "no"
- public const string IsMechanicalKey = "ismechanical";
-
- /// string
- public const string LanguageKey = "language";
-
- /// string
- public const string LocationKey = "location";
-
- /// string
- public const string ManufacturerKey = "manufacturer";
-
- /// Media[]
- [NoFilter]
- public const string MediaKey = "media";
-
- /// string
- public const string NameKey = "name";
-
- /// string
- public const string NotesKey = "notes";
-
- /// Part[]
- [NoFilter]
- public const string PartKey = "part";
-
- /// string
- public const string PlayedCountKey = "playedcount";
-
- /// string
- public const string PlayedTimeKey = "playedtime";
-
- /// string
- public const string PlayersKey = "players";
-
- /// Port[]
- [NoFilter]
- public const string PortKey = "port";
-
- /// string
- public const string PublisherKey = "publisher";
-
- /// RamOption[]
- [NoFilter]
- public const string RamOptionKey = "ramoption";
-
- /// string
- public const string RebuildToKey = "rebuildto";
-
- /// Release[]
- [NoFilter]
- public const string ReleaseKey = "release";
-
- /// string
- public const string ReleaseNumberKey = "releaseNumber";
-
- /// Rom[]
- [NoFilter]
- public const string RomKey = "rom";
-
- /// string
- public const string RomOfKey = "romof";
-
- /// string
- public const string RotationKey = "rotation";
-
- /// (yes|no) "no"
- public const string RunnableKey = "runnable";
-
- /// Sample[]
- [NoFilter]
- public const string SampleKey = "sample";
-
- /// string
- public const string SampleOfKey = "sampleof";
-
- /// string
- public const string SaveTypeKey = "saveType";
-
- /// SharedFeat[]
- [NoFilter]
- public const string SharedFeatKey = "sharedfeat";
-
- /// Slot[]
- [NoFilter]
- public const string SlotKey = "slot";
-
- /// SoftwareList[]
- [NoFilter]
- public const string SoftwareListKey = "softwarelist";
-
- /// Sound
- [NoFilter]
- public const string SoundKey = "sound";
-
- /// string
- public const string SourceFileKey = "sourcefile";
-
- /// string
- public const string SourceRomKey = "sourceRom";
-
- /// string
- public const string StatusKey = "status";
-
- /// (yes|partial|no) "yes"
- public const string SupportedKey = "supported";
-
- /// string
- public const string SystemKey = "system";
-
- /// string
- public const string TagsKey = "tags";
-
- /// TODO: This needs an internal model OR mapping to fields
- /// Trurip
- [NoFilter]
- public const string TruripKey = "trurip";
-
- /// string
- public const string UrlKey = "url";
-
- /// Video[]
- [NoFilter]
- public const string VideoKey = "video";
-
- /// string
- public const string YearKey = "year";
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Metadata/Media.cs b/SabreTools.Models/Metadata/Media.cs
deleted file mode 100644
index 837895f..0000000
--- a/SabreTools.Models/Metadata/Media.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("media"), XmlRoot("media")]
- public class Media : DatItem
- {
- #region Keys
-
- /// string
- public const string MD5Key = "md5";
-
- /// string
- public const string NameKey = "name";
-
- /// string
- public const string SHA1Key = "sha1";
-
- /// string
- public const string SHA256Key = "sha256";
-
- /// string
- public const string SpamSumKey = "spamsum";
-
- #endregion
-
- public Media() => Type = ItemType.Media;
- }
-}
diff --git a/SabreTools.Models/Metadata/MetadataFile.cs b/SabreTools.Models/Metadata/MetadataFile.cs
deleted file mode 100644
index 44c9f74..0000000
--- a/SabreTools.Models/Metadata/MetadataFile.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-namespace SabreTools.Models.Metadata
-{
- ///
- /// Format-agnostic representation of a full metadata file
- ///
- public class MetadataFile : DictionaryBase
- {
- #region Keys
-
- /// Machine[]
- [NoFilter]
- public const string MachineKey = "machine";
-
- /// Header
- [NoFilter]
- public const string HeaderKey = "header";
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Metadata/Original.cs b/SabreTools.Models/Metadata/Original.cs
deleted file mode 100644
index 1bff65e..0000000
--- a/SabreTools.Models/Metadata/Original.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("original"), XmlRoot("original")]
- public class Original : DatItem
- {
- #region Keys
-
- /// string
- public const string ContentKey = "content";
-
- /// bool
- public const string ValueKey = "value";
-
- #endregion
-
- public Original() => Type = ItemType.Original;
- }
-}
diff --git a/SabreTools.Models/Metadata/Part.cs b/SabreTools.Models/Metadata/Part.cs
deleted file mode 100644
index b25a1b5..0000000
--- a/SabreTools.Models/Metadata/Part.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("part"), XmlRoot("part")]
- public class Part : DatItem
- {
- #region Keys
-
- /// DataArea[]
- [NoFilter]
- public const string DataAreaKey = "dataarea";
-
- /// DiskArea[]
- [NoFilter]
- public const string DiskAreaKey = "diskarea";
-
- /// DipSwitch[]
- [NoFilter]
- public const string DipSwitchKey = "dipswitch";
-
- /// Feature[]
- [NoFilter]
- public const string FeatureKey = "feature";
-
- /// string
- public const string InterfaceKey = "interface";
-
- /// string
- public const string NameKey = "name";
-
- #endregion
-
- public Part() => Type = ItemType.Part;
- }
-}
diff --git a/SabreTools.Models/Metadata/Port.cs b/SabreTools.Models/Metadata/Port.cs
deleted file mode 100644
index 769c72a..0000000
--- a/SabreTools.Models/Metadata/Port.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("port"), XmlRoot("port")]
- public class Port : DatItem
- {
- #region Keys
-
- /// Analog[]
- [NoFilter]
- public const string AnalogKey = "analog";
-
- /// string
- public const string TagKey = "tag";
-
- #endregion
-
- public Port() => Type = ItemType.Port;
- }
-}
diff --git a/SabreTools.Models/Metadata/RamOption.cs b/SabreTools.Models/Metadata/RamOption.cs
deleted file mode 100644
index 272b46d..0000000
--- a/SabreTools.Models/Metadata/RamOption.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("ramoption"), XmlRoot("ramoption")]
- public class RamOption : DatItem
- {
- #region Keys
-
- /// string
- public const string ContentKey = "content";
-
- /// (yes|no) "no"
- public const string DefaultKey = "default";
-
- /// string
- public const string NameKey = "name";
-
- #endregion
-
- public RamOption() => Type = ItemType.RamOption;
- }
-}
diff --git a/SabreTools.Models/Metadata/Release.cs b/SabreTools.Models/Metadata/Release.cs
deleted file mode 100644
index 243f58c..0000000
--- a/SabreTools.Models/Metadata/Release.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("release"), XmlRoot("release")]
- public class Release : DatItem
- {
- #region Keys
-
- /// string
- public const string DateKey = "date";
-
- /// (yes|no) "no"
- public const string DefaultKey = "default";
-
- /// string
- public const string LanguageKey = "language";
-
- /// string
- public const string NameKey = "name";
-
- /// string
- public const string RegionKey = "region";
-
- #endregion
-
- public Release() => Type = ItemType.Release;
- }
-}
diff --git a/SabreTools.Models/Metadata/Rom.cs b/SabreTools.Models/Metadata/Rom.cs
deleted file mode 100644
index dee62d9..0000000
--- a/SabreTools.Models/Metadata/Rom.cs
+++ /dev/null
@@ -1,297 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("rom"), XmlRoot("rom")]
- public class Rom : DatItem
- {
- #region Keys
-
- /// string; ArchiveDotOrg.File
- public const string AlbumKey = "album";
-
- /// string; AttractMode.Row
- public const string AltRomnameKey = "alt_romname";
-
- /// string; AttractMode.Row
- public const string AltTitleKey = "alt_title";
-
- /// string; ArchiveDotOrg.File
- public const string ArtistKey = "artist";
-
- /// string; ArchiveDotOrg.File
- public const string ASRDetectedLangKey = "asr_detected_lang";
-
- /// string; ArchiveDotOrg.File
- public const string ASRDetectedLangConfKey = "asr_detected_lang_conf";
-
- /// string; ArchiveDotOrg.File
- public const string ASRTranscribedLangKey = "asr_transcribed_lang";
-
- /// string
- public const string BiosKey = "bios";
-
- /// string; ArchiveDotOrg.File
- public const string BitrateKey = "bitrate";
-
- /// string; ArchiveDotOrg.File
- public const string BitTorrentMagnetHashKey = "btih";
-
- /// string; ArchiveDotOrg.File
- public const string ClothCoverDetectionModuleVersionKey = "cloth_cover_detection_module_version";
-
- /// string; ArchiveDotOrg.File
- public const string CollectionCatalogNumberKey = "collection-catalog-number";
-
- /// string; ArchiveDotOrg.File
- public const string CommentKey = "comment";
-
- /// string; Also "crc32" in ArchiveDotOrg.File
- public const string CRCKey = "crc";
-
- /// string; ArchiveDotOrg.File
- public const string CreatorKey = "creator";
-
- /// string
- public const string DateKey = "date";
-
- /// (yes|no) "no"
- public const string DisposeKey = "dispose";
-
- /// string; OfflineList.FileRomCRC
- public const string ExtensionKey = "extension";
-
- /// long; ArchiveDotOrg.File
- public const string FileCountKey = "filecount";
-
- /// bool; AttractMode.Row
- public const string FileIsAvailableKey = "file_is_available";
-
- /// string
- public const string FlagsKey = "flags";
-
- /// string; ArchiveDotOrg.File
- public const string FormatKey = "format";
-
- /// string
- public const string HeaderKey = "header";
-
- /// string, possibly long; ArchiveDotOrg.File
- public const string HeightKey = "height";
-
- /// string; ArchiveDotOrg.File
- public const string hOCRCharToWordhOCRVersionKey = "hocr_char_to_word_hocr_version";
-
- /// string; ArchiveDotOrg.File
- public const string hOCRCharToWordModuleVersionKey = "hocr_char_to_word_module_version";
-
- /// string; ArchiveDotOrg.File
- public const string hOCRFtsTexthOCRVersionKey = "hocr_fts_text_hocr_version";
-
- /// string; ArchiveDotOrg.File
- public const string hOCRFtsTextModuleVersionKey = "hocr_fts_text_module_version";
-
- /// string; ArchiveDotOrg.File
- public const string hOCRPageIndexhOCRVersionKey = "hocr_pageindex_hocr_version";
-
- /// string; ArchiveDotOrg.File
- public const string hOCRPageIndexModuleVersionKey = "hocr_pageindex_module_version";
-
- /// (yes|no) "no"
- public const string InvertedKey = "inverted";
-
- /// long; ArchiveDotOrg.File
- public const string LastModifiedTimeKey = "mtime";
-
- /// string, possibly long; Also in ArchiveDotOrg.File
- public const string LengthKey = "length";
-
- /// (load16_byte|load16_word|load16_word_swap|load32_byte|load32_word|load32_word_swap|load32_dword|load64_word|load64_word_swap|reload|fill|continue|reload_plain|ignore)
- public const string LoadFlagKey = "loadflag";
-
- /// string; ArchiveDotOrg.File
- public const string MatrixNumberKey = "matrix_number";
-
- /// string
- public const string MD2Key = "md2";
-
- /// string
- public const string MD4Key = "md4";
-
- /// string
- public const string MD5Key = "md5";
-
- /// string; OpenMSX.RomBase
- public const string OpenMSXMediaType = "mediatype";
-
- /// string
- public const string MergeKey = "merge";
-
- /// (yes|no) "no"
- public const string MIAKey = "mia";
-
- /// string
- public const string NameKey = "name";
-
- /// string; ArchiveDotOrg.File
- public const string TesseractOCRKey = "ocr";
-
- /// string; ArchiveDotOrg.File
- public const string TesseractOCRConvertedKey = "ocr_converted";
-
- /// string; ArchiveDotOrg.File
- public const string TesseractOCRDetectedLangKey = "ocr_detected_lang";
-
- /// string; ArchiveDotOrg.File
- public const string TesseractOCRDetectedLangConfKey = "ocr_detected_lang_conf";
-
- /// string; ArchiveDotOrg.File
- public const string TesseractOCRDetectedScriptKey = "ocr_detected_script";
-
- /// string; ArchiveDotOrg.File
- public const string TesseractOCRDetectedScriptConfKey = "ocr_detected_script_conf";
-
- /// string; ArchiveDotOrg.File
- public const string TesseractOCRModuleVersionKey = "ocr_module_version";
-
- /// string; ArchiveDotOrg.File
- public const string TesseractOCRParametersKey = "ocr_parameters";
-
- /// string, possibly long; Originally "offs"
- public const string OffsetKey = "offset";
-
- /// (yes|no) "no"
- public const string OptionalKey = "optional";
-
- /// string; ArchiveDotOrg.File
- public const string OriginalKey = "original";
-
- /// string; ArchiveDotOrg.File
- public const string PDFModuleVersionKey = "pdf_module_version";
-
- /// string; ArchiveDotOrg.File
- public const string PreviewImageKey = "preview-image";
-
- /// string; ArchiveDotOrg.File
- public const string PublisherKey = "publisher";
-
- /// string
- public const string RegionKey = "region";
-
- /// string; OpenMSX.RomBase
- public const string RemarkKey = "remark";
-
- /// string
- public const string RIPEMD128Key = "ripemd128";
-
- /// string
- public const string RIPEMD160Key = "ripemd160";
-
- /// string, possibly long; ArchiveDotOrg.File
- public const string RotationKey = "rotation";
-
- /// string
- public const string SerialKey = "serial";
-
- /// string
- public const string SHA1Key = "sha1";
-
- /// string
- public const string SHA256Key = "sha256";
-
- /// string
- public const string SHA384Key = "sha384";
-
- /// string
- public const string SHA512Key = "sha512";
-
- /// long
- public const string SizeKey = "size";
-
- /// (yes|no) "no"
- public const string SoundOnlyKey = "soundonly";
-
- /// string; ArchiveDotOrg.File
- public const string SourceKey = "source";
-
- /// string
- public const string SpamSumKey = "spamsum";
-
- /// string, possibly long; OpenMSX.RomBase
- public const string StartKey = "start";
-
- /// (baddump|nodump|good|verified) "good"
- public const string StatusKey = "status";
-
- /// string; ArchiveDotOrg.File
- public const string SummationKey = "summation";
-
- /// string; ArchiveDotOrg.File
- public const string TitleKey = "title";
-
- /// string, possibly long; ArchiveDotOrg.File
- public const string TrackKey = "track";
-
- /// string; OpenMSX.RomBase
- public const string OpenMSXType = "type";
-
- /// string
- public const string ValueKey = "value";
-
- /// string; ArchiveDotOrg.File
- public const string WhisperASRModuleVersionKey = "whisper_asr_module_version";
-
- /// string; ArchiveDotOrg.File
- public const string WhisperModelHashKey = "whisper_model_hash";
-
- /// string; ArchiveDotOrg.File
- public const string WhisperModelNameKey = "whisper_model_name";
-
- /// string; ArchiveDotOrg.File
- public const string WhisperVersionKey = "whisper_version";
-
- /// string, possibly long; ArchiveDotOrg.File
- public const string WidthKey = "width";
-
- /// string; ArchiveDotOrg.File
- public const string WordConfidenceInterval0To10Key = "word_conf_0_10";
-
- /// string; ArchiveDotOrg.File
- public const string WordConfidenceInterval11To20Key = "word_conf_11_20";
-
- /// string; ArchiveDotOrg.File
- public const string WordConfidenceInterval21To30Key = "word_conf_21_30";
-
- /// string; ArchiveDotOrg.File
- public const string WordConfidenceInterval31To40Key = "word_conf_31_40";
-
- /// string; ArchiveDotOrg.File
- public const string WordConfidenceInterval41To50Key = "word_conf_41_50";
-
- /// string; ArchiveDotOrg.File
- public const string WordConfidenceInterval51To60Key = "word_conf_51_60";
-
- /// string; ArchiveDotOrg.File
- public const string WordConfidenceInterval61To70Key = "word_conf_61_70";
-
- /// string; ArchiveDotOrg.File
- public const string WordConfidenceInterval71To80Key = "word_conf_71_80";
-
- /// string; ArchiveDotOrg.File
- public const string WordConfidenceInterval81To90Key = "word_conf_81_90";
-
- /// string; ArchiveDotOrg.File
- public const string WordConfidenceInterval91To100Key = "word_conf_91_100";
-
- /// string
- public const string xxHash364Key = "xxh3_64";
-
- /// string
- public const string xxHash3128Key = "xxh3_128";
-
- #endregion
-
- public Rom() => Type = ItemType.Rom;
- }
-}
diff --git a/SabreTools.Models/Metadata/Sample.cs b/SabreTools.Models/Metadata/Sample.cs
deleted file mode 100644
index 9dc9c4c..0000000
--- a/SabreTools.Models/Metadata/Sample.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("sample"), XmlRoot("sample")]
- public class Sample : DatItem
- {
- #region Keys
-
- /// string
- public const string NameKey = "name";
-
- #endregion
-
- public Sample() => Type = ItemType.Sample;
- }
-}
diff --git a/SabreTools.Models/Metadata/SharedFeat.cs b/SabreTools.Models/Metadata/SharedFeat.cs
deleted file mode 100644
index 21ab651..0000000
--- a/SabreTools.Models/Metadata/SharedFeat.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("sharedfeat"), XmlRoot("sharedfeat")]
- public class SharedFeat : DatItem
- {
- #region Keys
-
- /// string
- public const string NameKey = "name";
-
- /// string
- public const string ValueKey = "value";
-
- #endregion
-
- public SharedFeat() => Type = ItemType.SharedFeat;
- }
-}
diff --git a/SabreTools.Models/Metadata/Slot.cs b/SabreTools.Models/Metadata/Slot.cs
deleted file mode 100644
index 64f7d8e..0000000
--- a/SabreTools.Models/Metadata/Slot.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("slot"), XmlRoot("slot")]
- public class Slot : DatItem
- {
- #region Keys
-
- /// string
- public const string NameKey = "name";
-
- /// SlotOption[]
- [NoFilter]
- public const string SlotOptionKey = "slotoption";
-
- #endregion
-
- public Slot() => Type = ItemType.Slot;
- }
-}
diff --git a/SabreTools.Models/Metadata/SlotOption.cs b/SabreTools.Models/Metadata/SlotOption.cs
deleted file mode 100644
index 9a5fb33..0000000
--- a/SabreTools.Models/Metadata/SlotOption.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("slotoption"), XmlRoot("slotoption")]
- public class SlotOption : DatItem
- {
- #region Keys
-
- /// (yes|no) "no"
- public const string DefaultKey = "default";
-
- /// string
- public const string DevNameKey = "devname";
-
- /// string
- public const string NameKey = "name";
-
- #endregion
-
- public SlotOption() => Type = ItemType.SlotOption;
- }
-}
diff --git a/SabreTools.Models/Metadata/Software.cs b/SabreTools.Models/Metadata/Software.cs
deleted file mode 100644
index ffc527e..0000000
--- a/SabreTools.Models/Metadata/Software.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("software"), XmlRoot("software")]
- public class Software : DatItem
- {
- #region Keys
-
- /// string
- public const string CloneOfKey = "cloneof";
-
- /// string
- public const string DescriptionKey = "description";
-
- /// Info[]
- [NoFilter]
- public const string InfoKey = "info";
-
- /// string
- public const string NameKey = "name";
-
- /// string
- public const string NotesKey = "notes";
-
- /// Part[]
- [NoFilter]
- public const string PartKey = "part";
-
- /// string
- public const string PublisherKey = "publisher";
-
- /// SharedFeat[]
- [NoFilter]
- public const string SharedFeatKey = "sharedfeat";
-
- /// (yes|partial|no) "yes"
- public const string SupportedKey = "supported";
-
- /// string
- public const string YearKey = "year";
-
- #endregion
-
- public Software() => Type = ItemType.Software;
- }
-}
diff --git a/SabreTools.Models/Metadata/SoftwareList.cs b/SabreTools.Models/Metadata/SoftwareList.cs
deleted file mode 100644
index 8f6c84e..0000000
--- a/SabreTools.Models/Metadata/SoftwareList.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("softwarelist"), XmlRoot("softwarelist")]
- public class SoftwareList : DatItem
- {
- #region Keys
-
- /// string
- public const string DescriptionKey = "description";
-
- /// string
- public const string FilterKey = "filter";
-
- /// string
- public const string NameKey = "name";
-
- /// string
- public const string NotesKey = "notes";
-
- /// Software[]
- [NoFilter]
- public const string SoftwareKey = "software";
-
- /// (original|compatible)
- public const string StatusKey = "status";
-
- /// string
- public const string TagKey = "tag";
-
- #endregion
-
- public SoftwareList() => Type = ItemType.SoftwareList;
- }
-}
diff --git a/SabreTools.Models/Metadata/Sound.cs b/SabreTools.Models/Metadata/Sound.cs
deleted file mode 100644
index 8de5d10..0000000
--- a/SabreTools.Models/Metadata/Sound.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("sound"), XmlRoot("sound")]
- public class Sound : DatItem
- {
- #region Keys
-
- /// long
- public const string ChannelsKey = "channels";
-
- #endregion
-
- public Sound() => Type = ItemType.Sound;
- }
-}
diff --git a/SabreTools.Models/Metadata/Video.cs b/SabreTools.Models/Metadata/Video.cs
deleted file mode 100644
index 9009b84..0000000
--- a/SabreTools.Models/Metadata/Video.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-
-namespace SabreTools.Models.Metadata
-{
- [JsonObject("video"), XmlRoot("video")]
- public class Video : DatItem
- {
- #region Keys
-
- /// long
- public const string AspectXKey = "aspectx";
-
- /// long
- public const string AspectYKey = "aspecty";
-
- /// long; Originally "y"
- public const string HeightKey = "height";
-
- /// (vertical|horizontal)
- public const string OrientationKey = "orientation";
-
- /// double; Originally "freq"
- public const string RefreshKey = "refresh";
-
- /// (raster|vector)
- public const string ScreenKey = "screen";
-
- /// long; Originally "x"
- public const string WidthKey = "width";
-
- #endregion
-
- public Video() => Type = ItemType.Video;
- }
-}
diff --git a/SabreTools.Models/OfflineList/CanOpen.cs b/SabreTools.Models/OfflineList/CanOpen.cs
deleted file mode 100644
index a39b819..0000000
--- a/SabreTools.Models/OfflineList/CanOpen.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("canOpen")]
- public class CanOpen
- {
- [XmlElement("extension")]
- public string[]? Extension { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/Configuration.cs b/SabreTools.Models/OfflineList/Configuration.cs
deleted file mode 100644
index 92f2573..0000000
--- a/SabreTools.Models/OfflineList/Configuration.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("configuration")]
- public class Configuration
- {
- [XmlElement("datName")]
- public string? DatName { get; set; }
-
- [XmlElement("imFolder")]
- public string? ImFolder { get; set; }
-
- [XmlElement("datVersion")]
- public string? DatVersion { get; set; }
-
- [XmlElement("system")]
- public string? System { get; set; }
-
- /// Numeric?
- [XmlElement("screenshotsWidth")]
- public string? ScreenshotsWidth { get; set; }
-
- /// Numeric?
- [XmlElement("screenshotsHeight")]
- public string? ScreenshotsHeight { get; set; }
-
- [XmlElement("infos")]
- public Infos? Infos { get; set; }
-
- [XmlElement("canOpen")]
- public CanOpen? CanOpen { get; set; }
-
- [XmlElement("newDat")]
- public NewDat? NewDat { get; set; }
-
- [XmlElement("search")]
- public Search? Search { get; set; }
-
- [XmlElement("romTitle")]
- public string? RomTitle { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/Dat.cs b/SabreTools.Models/OfflineList/Dat.cs
deleted file mode 100644
index df4817b..0000000
--- a/SabreTools.Models/OfflineList/Dat.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("dat")]
- public class Dat
- {
- [XmlAttribute(Namespace = "http://www.w3.org/2001/XMLSchema-instance", AttributeName = "noNamespaceSchemaLocation")]
- public string? NoNamespaceSchemaLocation { get; set; }
-
- [XmlElement("configuration")]
- public Configuration? Configuration { get; set; }
-
- [XmlElement("games")]
- public Games? Games { get; set; }
-
- [XmlElement("gui")]
- public GUI? GUI { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/DatUrl.cs b/SabreTools.Models/OfflineList/DatUrl.cs
deleted file mode 100644
index 28280c5..0000000
--- a/SabreTools.Models/OfflineList/DatUrl.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("datURL")]
- public class DatUrl
- {
- [XmlAttribute("fileName")]
- public string? FileName { get; set; }
-
- [XmlText]
- public string? Content { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/FileRomCRC.cs b/SabreTools.Models/OfflineList/FileRomCRC.cs
deleted file mode 100644
index 5fbf0b5..0000000
--- a/SabreTools.Models/OfflineList/FileRomCRC.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("romCRC")]
- public class FileRomCRC
- {
- [XmlAttribute("extension")]
- public string? Extension { get; set; }
-
- [XmlText]
- public string? Content { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/Files.cs b/SabreTools.Models/OfflineList/Files.cs
deleted file mode 100644
index dec9612..0000000
--- a/SabreTools.Models/OfflineList/Files.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("files")]
- public class Files
- {
- [XmlElement("romCRC")]
- public FileRomCRC[]? RomCRC { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/Find.cs b/SabreTools.Models/OfflineList/Find.cs
deleted file mode 100644
index fc983ac..0000000
--- a/SabreTools.Models/OfflineList/Find.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("find")]
- public class Find
- {
- [XmlAttribute("operation")]
- public string? Operation { get; set; }
-
- /// Numeric?
- [XmlAttribute("value")]
- public string? Value { get; set; }
-
- [XmlText]
- public string? Content { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/GUI.cs b/SabreTools.Models/OfflineList/GUI.cs
deleted file mode 100644
index d9583ba..0000000
--- a/SabreTools.Models/OfflineList/GUI.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("gui")]
- public class GUI
- {
- [XmlElement("images")]
- public Images? Images { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/Game.cs b/SabreTools.Models/OfflineList/Game.cs
deleted file mode 100644
index fdd7506..0000000
--- a/SabreTools.Models/OfflineList/Game.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("game")]
- public class Game
- {
- [XmlElement("imageNumber")]
- public string? ImageNumber { get; set; }
-
- [XmlElement("releaseNumber")]
- public string? ReleaseNumber { get; set; }
-
- [XmlElement("title")]
- public string? Title { get; set; }
-
- [XmlElement("saveType")]
- public string? SaveType { get; set; }
-
- /// Numeric
- [XmlElement("romSize")]
- public string? RomSize { get; set; }
-
- [XmlElement("publisher")]
- public string? Publisher { get; set; }
-
- [XmlElement("location")]
- public string? Location { get; set; }
-
- [XmlElement("sourceRom")]
- public string? SourceRom { get; set; }
-
- [XmlElement("language")]
- public string? Language { get; set; }
-
- [XmlElement("files")]
- public Files? Files { get; set; }
-
- [XmlElement("im1CRC")]
- public string? Im1CRC { get; set; }
-
- [XmlElement("im2CRC")]
- public string? Im2CRC { get; set; }
-
- [XmlElement("comment")]
- public string? Comment { get; set; }
-
- [XmlElement("duplicateID")]
- public string? DuplicateID { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/Games.cs b/SabreTools.Models/OfflineList/Games.cs
deleted file mode 100644
index b70ecff..0000000
--- a/SabreTools.Models/OfflineList/Games.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("games")]
- public class Games
- {
- [XmlElement("game")]
- public Game[]? Game { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/Image.cs b/SabreTools.Models/OfflineList/Image.cs
deleted file mode 100644
index 0ae8632..0000000
--- a/SabreTools.Models/OfflineList/Image.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("image")]
- public class Image
- {
- [XmlAttribute("x")]
- public string? X { get; set; }
-
- [XmlAttribute("y")]
- public string? Y { get; set; }
-
- [XmlAttribute("width")]
- public string? Width { get; set; }
-
- [XmlAttribute("height")]
- public string? Height { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/Images.cs b/SabreTools.Models/OfflineList/Images.cs
deleted file mode 100644
index 9b94ae8..0000000
--- a/SabreTools.Models/OfflineList/Images.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("images")]
- public class Images
- {
- [XmlAttribute("width")]
- public string? Width { get; set; }
-
- [XmlAttribute("height")]
- public string? Height { get; set; }
-
- [XmlElement("image")]
- public Image[]? Image { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/InfoBase.cs b/SabreTools.Models/OfflineList/InfoBase.cs
deleted file mode 100644
index e28f64f..0000000
--- a/SabreTools.Models/OfflineList/InfoBase.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- public class InfoBase
- {
- /// Boolean
- [XmlAttribute("visible")]
- public string? Visible { get; set; }
-
- /// Boolean
- [XmlAttribute("inNamingOption")]
- public string? InNamingOption { get; set; }
-
- /// Boolean
- [XmlAttribute("default")]
- public string? Default { get; set; }
- }
-
- [XmlRoot("title")]
- public class Title : InfoBase { }
-
- [XmlRoot("location")]
- public class Location : InfoBase { }
-
- [XmlRoot("publisher")]
- public class Publisher : InfoBase { }
-
- [XmlRoot("sourceRom")]
- public class SourceRom : InfoBase { }
-
- [XmlRoot("saveType")]
- public class SaveType : InfoBase { }
-
- [XmlRoot("romSize")]
- public class RomSize : InfoBase { }
-
- [XmlRoot("releaseNumber")]
- public class ReleaseNumber : InfoBase { }
-
- [XmlRoot("imageNumber")]
- public class ImageNumber : InfoBase { }
-
- [XmlRoot("languageNumber")]
- public class LanguageNumber : InfoBase { }
-
- [XmlRoot("comment")]
- public class Comment : InfoBase { }
-
- [XmlRoot("romCRC")]
- public class RomCRC : InfoBase { }
-
- [XmlRoot("im1CRC")]
- public class Im1CRC : InfoBase { }
-
- [XmlRoot("im2CRC")]
- public class Im2CRC : InfoBase { }
-
- [XmlRoot("languages")]
- public class Languages : InfoBase { }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/Infos.cs b/SabreTools.Models/OfflineList/Infos.cs
deleted file mode 100644
index 7d321f2..0000000
--- a/SabreTools.Models/OfflineList/Infos.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("infos")]
- public class Infos
- {
- [XmlElement("title")]
- public Title? Title { get; set; }
-
- [XmlElement("location")]
- public Location? Location { get; set; }
-
- [XmlElement("publisher")]
- public Publisher? Publisher { get; set; }
-
- [XmlElement("sourceRom")]
- public SourceRom? SourceRom { get; set; }
-
- [XmlElement("saveType")]
- public SaveType? SaveType { get; set; }
-
- [XmlElement("romSize")]
- public RomSize? RomSize { get; set; }
-
- [XmlElement("releaseNumber")]
- public ReleaseNumber? ReleaseNumber { get; set; }
-
- [XmlElement("imageNumber")]
- public ImageNumber? ImageNumber { get; set; }
-
- [XmlElement("languageNumber")]
- public LanguageNumber? LanguageNumber { get; set; }
-
- [XmlElement("comment")]
- public Comment? Comment { get; set; }
-
- [XmlElement("romCRC")]
- public RomCRC? RomCRC { get; set; }
-
- [XmlElement("im1CRC")]
- public Im1CRC? Im1CRC { get; set; }
-
- [XmlElement("im2CRC")]
- public Im2CRC? Im2CRC { get; set; }
-
- [XmlElement("languages")]
- public Languages? Languages { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/NewDat.cs b/SabreTools.Models/OfflineList/NewDat.cs
deleted file mode 100644
index 2b89b63..0000000
--- a/SabreTools.Models/OfflineList/NewDat.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("newDat")]
- public class NewDat
- {
- [XmlElement("datVersionURL")]
- public string? DatVersionUrl { get; set; }
-
- [XmlElement("datURL")]
- public DatUrl? DatUrl { get; set; }
-
- [XmlElement("imURL")]
- public string? ImUrl { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/Search.cs b/SabreTools.Models/OfflineList/Search.cs
deleted file mode 100644
index 69698bd..0000000
--- a/SabreTools.Models/OfflineList/Search.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("search")]
- public class Search
- {
- [XmlElement("to")]
- public To[]? To { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OfflineList/To.cs b/SabreTools.Models/OfflineList/To.cs
deleted file mode 100644
index c9362df..0000000
--- a/SabreTools.Models/OfflineList/To.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OfflineList
-{
- [XmlRoot("to")]
- public class To
- {
- [XmlAttribute("value")]
- public string? Value { get; set; }
-
- /// Boolean
- [XmlAttribute("default")]
- public string? Default { get; set; }
-
- /// Boolean
- [XmlAttribute("auto")]
- public string? Auto { get; set; }
-
- [XmlElement("find")]
- public Find[]? Find { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OpenMSX/Dump.cs b/SabreTools.Models/OpenMSX/Dump.cs
deleted file mode 100644
index 86be829..0000000
--- a/SabreTools.Models/OpenMSX/Dump.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OpenMSX
-{
- [XmlRoot("dump")]
- public class Dump
- {
- [XmlElement("original")]
- public Original? Original { get; set; }
-
- [XmlElement("rom", typeof(Rom))]
- [XmlElement("megarom", typeof(MegaRom))]
- [XmlElement("sccpluscart", typeof(SCCPlusCart))]
- public RomBase? Rom { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OpenMSX/MegaRom.cs b/SabreTools.Models/OpenMSX/MegaRom.cs
deleted file mode 100644
index 78fa13a..0000000
--- a/SabreTools.Models/OpenMSX/MegaRom.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OpenMSX
-{
- [XmlRoot("megarom")]
- public class MegaRom : RomBase { }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OpenMSX/Original.cs b/SabreTools.Models/OpenMSX/Original.cs
deleted file mode 100644
index 7d42a72..0000000
--- a/SabreTools.Models/OpenMSX/Original.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OpenMSX
-{
- [XmlRoot("original")]
- public class Original
- {
- /// Boolean?
- [XmlAttribute("value")]
- public string? Value { get; set; }
-
- [XmlText]
- public string? Content { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OpenMSX/Rom.cs b/SabreTools.Models/OpenMSX/Rom.cs
deleted file mode 100644
index bfa0381..0000000
--- a/SabreTools.Models/OpenMSX/Rom.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OpenMSX
-{
- [XmlRoot("rom")]
- public class Rom : RomBase { }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OpenMSX/RomBase.cs b/SabreTools.Models/OpenMSX/RomBase.cs
deleted file mode 100644
index 300c941..0000000
--- a/SabreTools.Models/OpenMSX/RomBase.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OpenMSX
-{
- ///
- /// Base class to unify the various rom types
- ///
- public abstract class RomBase
- {
- [XmlElement("start")]
- public string? Start { get; set; }
-
- [XmlElement("type")]
- public string? Type { get; set; }
-
- /// SHA-1 hash
- [XmlElement("hash")]
- public string? Hash { get; set; }
-
- [XmlElement("remark")]
- public string? Remark { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OpenMSX/SCCPlusCart.cs b/SabreTools.Models/OpenMSX/SCCPlusCart.cs
deleted file mode 100644
index 9d10831..0000000
--- a/SabreTools.Models/OpenMSX/SCCPlusCart.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OpenMSX
-{
- [XmlRoot("sccpluscart")]
- public class SCCPlusCart : RomBase { }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OpenMSX/Software.cs b/SabreTools.Models/OpenMSX/Software.cs
deleted file mode 100644
index cd5fe37..0000000
--- a/SabreTools.Models/OpenMSX/Software.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OpenMSX
-{
- [XmlRoot("software")]
- public class Software
- {
- [Required]
- [XmlElement("title")]
- public string? Title { get; set; }
-
- [XmlElement("genmsxid")]
- public string? GenMSXID { get; set; }
-
- [Required]
- [XmlElement("system")]
- public string? System { get; set; }
-
- [Required]
- [XmlElement("company")]
- public string? Company { get; set; }
-
- [Required]
- [XmlElement("year")]
- public string? Year { get; set; }
-
- [Required]
- [XmlElement("country")]
- public string? Country { get; set; }
-
- [XmlElement("dump")]
- public Dump[]? Dump { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/OpenMSX/SoftwareDb.cs b/SabreTools.Models/OpenMSX/SoftwareDb.cs
deleted file mode 100644
index 62b17f8..0000000
--- a/SabreTools.Models/OpenMSX/SoftwareDb.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.OpenMSX
-{
- [XmlRoot("softwaredb")]
- public class SoftwareDb
- {
- [XmlAttribute("timestamp")]
- public string? Timestamp { get; set; }
-
- [XmlElement("software")]
- public Software[]? Software { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/RomCenter/Credits.cs b/SabreTools.Models/RomCenter/Credits.cs
deleted file mode 100644
index dc05344..0000000
--- a/SabreTools.Models/RomCenter/Credits.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-namespace SabreTools.Models.RomCenter
-{
- /// [credits]
- public class Credits
- {
- /// author
- public string? Author { get; set; }
-
- /// version
- public string? Version { get; set; }
-
- /// email
- public string? Email { get; set; }
-
- /// homepage
- public string? Homepage { get; set; }
-
- /// url
- public string? Url { get; set; }
-
- /// date
- public string? Date { get; set; }
-
- /// comment
- public string? Comment { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/RomCenter/Dat.cs b/SabreTools.Models/RomCenter/Dat.cs
deleted file mode 100644
index fc1982e..0000000
--- a/SabreTools.Models/RomCenter/Dat.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-namespace SabreTools.Models.RomCenter
-{
- /// [dat]
- public class Dat
- {
- /// version
- public string? Version { get; set; }
-
- /// plugin
- public string? Plugin { get; set; }
-
- /// split
- public string? Split { get; set; }
-
- /// merge
- public string? Merge { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/RomCenter/Emulator.cs b/SabreTools.Models/RomCenter/Emulator.cs
deleted file mode 100644
index 51796c0..0000000
--- a/SabreTools.Models/RomCenter/Emulator.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace SabreTools.Models.RomCenter
-{
- /// [emulator]
- public class Emulator
- {
- /// refname
- public string? RefName { get; set; }
-
- /// version
- public string? Version { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/RomCenter/Games.cs b/SabreTools.Models/RomCenter/Games.cs
deleted file mode 100644
index 12338d4..0000000
--- a/SabreTools.Models/RomCenter/Games.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-namespace SabreTools.Models.RomCenter
-{
- /// [games]
- public class Games
- {
- public Rom[]? Rom { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/RomCenter/MetadataFile.cs b/SabreTools.Models/RomCenter/MetadataFile.cs
deleted file mode 100644
index f26135e..0000000
--- a/SabreTools.Models/RomCenter/MetadataFile.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-namespace SabreTools.Models.RomCenter
-{
- public class MetadataFile
- {
- /// [credits]
- public Credits? Credits { get; set; }
-
- /// [dat]
- public Dat? Dat { get; set; }
-
- /// [emulator]
- public Emulator? Emulator { get; set; }
-
- /// [games]
- public Games? Games { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/RomCenter/Rom.cs b/SabreTools.Models/RomCenter/Rom.cs
deleted file mode 100644
index 3693db4..0000000
--- a/SabreTools.Models/RomCenter/Rom.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-namespace SabreTools.Models.RomCenter
-{
- /// ¬-delimited
- public class Rom
- {
- /// 0
- public string? ParentName { get; set; }
-
- /// 1
- public string? ParentDescription { get; set; }
-
- /// 2
- public string? GameName { get; set; }
-
- /// 3
- public string? GameDescription { get; set; }
-
- /// 4
- public string? RomName { get; set; }
-
- /// 5
- public string? RomCRC { get; set; }
-
- /// 6
- public string? RomSize { get; set; }
-
- /// 7
- public string? RomOf { get; set; }
-
- /// 8
- public string? MergeName { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/SeparatedValue/MetadataFile.cs b/SabreTools.Models/SeparatedValue/MetadataFile.cs
deleted file mode 100644
index 7fddc2e..0000000
--- a/SabreTools.Models/SeparatedValue/MetadataFile.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace SabreTools.Models.SeparatedValue
-{
- public class MetadataFile
- {
- [Required]
- public string[]? Header { get; set; }
-
- public Row[]? Row { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/SeparatedValue/Row.cs b/SabreTools.Models/SeparatedValue/Row.cs
deleted file mode 100644
index 102e7b5..0000000
--- a/SabreTools.Models/SeparatedValue/Row.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-namespace SabreTools.Models.SeparatedValue
-{
- ///
- /// Standardized variant of a row
- ///
- public class Row
- {
- /// File Name
- public string? FileName { get; set; }
-
- /// Internal Name
- public string? InternalName { get; set; }
-
- /// Description
- public string? Description { get; set; }
-
- /// Game Name
- [Required]
- public string? GameName { get; set; }
-
- /// Game Description
- public string? GameDescription { get; set; }
-
- /// Type
- [Required]
- public string? Type { get; set; }
-
- /// Rom Name
- public string? RomName { get; set; }
-
- /// Disk Name
- public string? DiskName { get; set; }
-
- /// Size, Numeric
- public string? Size { get; set; }
-
- /// CRC
- public string? CRC { get; set; }
-
- /// MD5
- public string? MD5 { get; set; }
-
- /// SHA1
- public string? SHA1 { get; set; }
-
- /// SHA256
- public string? SHA256 { get; set; }
-
- /// SHA384, Optional
- public string? SHA384 { get; set; }
-
- /// SHA512, Optional
- public string? SHA512 { get; set; }
-
- /// SpamSum, Optional
- public string? SpamSum { get; set; }
-
- /// Status, Nodump
- public string? Status { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/SoftwareList/DataArea.cs b/SabreTools.Models/SoftwareList/DataArea.cs
deleted file mode 100644
index f145c07..0000000
--- a/SabreTools.Models/SoftwareList/DataArea.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.SoftwareList
-{
- [XmlRoot("dataarea")]
- public class DataArea
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [Required]
- [XmlAttribute("size")]
- public string? Size { get; set; }
-
- /// (8|16|32|64) "8"
- [XmlAttribute("width")]
- public string? Width { get; set; }
-
- /// (big|little) "little"
- [XmlAttribute("endianness")]
- public string? Endianness { get; set; }
-
- [XmlElement("rom")]
- public Rom[]? Rom { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/SoftwareList/DipSwitch.cs b/SabreTools.Models/SoftwareList/DipSwitch.cs
deleted file mode 100644
index 1786016..0000000
--- a/SabreTools.Models/SoftwareList/DipSwitch.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.SoftwareList
-{
- [XmlRoot("dipswitch")]
- public class DipSwitch
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [Required]
- [XmlAttribute("tag")]
- public string? Tag { get; set; }
-
- [XmlAttribute("mask")]
- public string? Mask { get; set; }
-
- [XmlElement("dipvalue")]
- public DipValue[]? DipValue { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/SoftwareList/DipValue.cs b/SabreTools.Models/SoftwareList/DipValue.cs
deleted file mode 100644
index 908f116..0000000
--- a/SabreTools.Models/SoftwareList/DipValue.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.SoftwareList
-{
- [XmlRoot("dipvalue")]
- public class DipValue
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [Required]
- [XmlAttribute("value")]
- public string? Value { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("default")]
- public string? Default { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/SoftwareList/Disk.cs b/SabreTools.Models/SoftwareList/Disk.cs
deleted file mode 100644
index e1a7fe0..0000000
--- a/SabreTools.Models/SoftwareList/Disk.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.SoftwareList
-{
- [XmlRoot("disk")]
- public class Disk
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlAttribute("md5")]
- public string? MD5 { get; set; }
-
- [XmlAttribute("sha1")]
- public string? SHA1 { get; set; }
-
- /// (baddump|nodump|good) "good"
- [XmlAttribute("status")]
- public string? Status { get; set; }
-
- /// (yes|no) "no"
- [XmlAttribute("writable")]
- public string? Writeable { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/SoftwareList/DiskArea.cs b/SabreTools.Models/SoftwareList/DiskArea.cs
deleted file mode 100644
index 112811a..0000000
--- a/SabreTools.Models/SoftwareList/DiskArea.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.SoftwareList
-{
- [XmlRoot("diskarea")]
- public class DiskArea
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlElement("disk")]
- public Disk[]? Disk { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/SoftwareList/Feature.cs b/SabreTools.Models/SoftwareList/Feature.cs
deleted file mode 100644
index d5e0cad..0000000
--- a/SabreTools.Models/SoftwareList/Feature.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.SoftwareList
-{
- [XmlRoot("feature")]
- public class Feature
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlAttribute("value")]
- public string? Value { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/SoftwareList/Info.cs b/SabreTools.Models/SoftwareList/Info.cs
deleted file mode 100644
index d021f1a..0000000
--- a/SabreTools.Models/SoftwareList/Info.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.SoftwareList
-{
- [XmlRoot("info")]
- public class Info
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlAttribute("value")]
- public string? Value { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/SoftwareList/Part.cs b/SabreTools.Models/SoftwareList/Part.cs
deleted file mode 100644
index b84734b..0000000
--- a/SabreTools.Models/SoftwareList/Part.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.SoftwareList
-{
- [XmlRoot("part")]
- public class Part
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [Required]
- [XmlAttribute("interface")]
- public string? Interface { get; set; }
-
- [XmlElement("feature")]
- public Feature[]? Feature { get; set; }
-
- [XmlElement("dataarea")]
- public DataArea[]? DataArea { get; set; }
-
- [XmlElement("diskarea")]
- public DiskArea[]? DiskArea { get; set; }
-
- [XmlElement("dipswitch")]
- public DipSwitch[]? DipSwitch { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/SoftwareList/Rom.cs b/SabreTools.Models/SoftwareList/Rom.cs
deleted file mode 100644
index 15b71ef..0000000
--- a/SabreTools.Models/SoftwareList/Rom.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.SoftwareList
-{
- [XmlRoot("rom")]
- public class Rom
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlAttribute("size")]
- public string? Size { get; set; }
-
- [XmlAttribute("length")]
- public string? Length { get; set; }
-
- [XmlAttribute("crc")]
- public string? CRC { get; set; }
-
- [XmlAttribute("sha1")]
- public string? SHA1 { get; set; }
-
- /// Numeric?
- [XmlAttribute("offset")]
- public string? Offset { get; set; }
-
- [XmlAttribute("value")]
- public string? Value { get; set; }
-
- /// (baddump|nodump|good) "good"
- [XmlAttribute("status")]
- public string? Status { get; set; }
-
- /// (load16_byte|load16_word|load16_word_swap|load32_byte|load32_word|load32_word_swap|load32_dword|load64_word|load64_word_swap|reload|fill|continue|reload_plain|ignore)
- [XmlAttribute("loadflag")]
- public string? LoadFlag { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/SoftwareList/SharedFeat.cs b/SabreTools.Models/SoftwareList/SharedFeat.cs
deleted file mode 100644
index 4b6972a..0000000
--- a/SabreTools.Models/SoftwareList/SharedFeat.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.SoftwareList
-{
- [XmlRoot("sharedfeat")]
- public class SharedFeat
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlAttribute("value")]
- public string? Value { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/SoftwareList/Software.cs b/SabreTools.Models/SoftwareList/Software.cs
deleted file mode 100644
index 5403914..0000000
--- a/SabreTools.Models/SoftwareList/Software.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.SoftwareList
-{
- [XmlRoot("software")]
- public class Software
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlAttribute("cloneof")]
- public string? CloneOf { get; set; }
-
- /// (yes|partial|no) "yes"
- [XmlAttribute("supported")]
- public string? Supported { get; set; }
-
- [Required]
- [XmlElement("description")]
- public string? Description { get; set; }
-
- [Required]
- [XmlElement("year")]
- public string? Year { get; set; }
-
- [Required]
- [XmlElement("publisher")]
- public string? Publisher { get; set; }
-
- [XmlElement("notes")]
- public string? Notes { get; set; }
-
- [XmlElement("info")]
- public Info[]? Info { get; set; }
-
- [XmlElement("sharedfeat")]
- public SharedFeat[]? SharedFeat { get; set; }
-
- [XmlElement("part")]
- public Part[]? Part { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/SoftwareList/SoftwareList.cs b/SabreTools.Models/SoftwareList/SoftwareList.cs
deleted file mode 100644
index 9e7fe39..0000000
--- a/SabreTools.Models/SoftwareList/SoftwareList.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System.Xml;
-using System.Xml.Serialization;
-
-namespace SabreTools.Models.SoftwareList
-{
- [XmlRoot("softwarelist")]
- public class SoftwareList
- {
- [Required]
- [XmlAttribute("name")]
- public string? Name { get; set; }
-
- [XmlAttribute("description")]
- public string? Description { get; set; }
-
- [XmlElement("notes")]
- public string? Notes { get; set; }
-
- [XmlElement("software")]
- public Software[]? Software { get; set; }
- }
-}
\ No newline at end of file