Update DB to version 18: Machines can have an arbitrary number of memories,

so use an interconnection table, `memory_by_machine`.
This commit is contained in:
2018-04-28 17:27:35 +01:00
parent 203a235a29
commit 95de473054
13 changed files with 753 additions and 183 deletions

View File

@@ -77,4 +77,111 @@ namespace Cicm.Database.Schemas
/// <summary>Videogame console</summary>
Console = 2
}
public enum MemoryType
{
/// <summary>Unknown memory type</summary>
Unknown = 0,
/// <summary>Dynamic RAM</summary>
DRAM = 1,
/// <summary>Fast page mode DRAM</summary>
FPM = 2,
/// <summary>Extended data out DRAM</summary>
EDO = 3,
/// <summary>Dual-ported video DRAM</summary>
VRAM = 4,
/// <summary>Synchronous DRAM</summary>
SDRAM = 5,
/// <summary>Double data rate SDRAM</summary>
DDR = 6,
/// <summary>Double data rate SDRAM v2</summary>
DDR2 = 7,
/// <summary>Double data rate SDRAM v3</summary>
DDR3 = 8,
/// <summary>Double data rate SDRAM v4</summary>
DDR4 = 9,
/// <summary>Rambus DRAM</summary>
RDRAM = 10,
/// <summary>Synchronous graphics RAM</summary>
SGRAM = 11,
/// <summary>Pseudostatic RAM</summary>
PSRAM = 12,
/// <summary>Static RAM</summary>
SRAM = 13,
/// <summary>Read-only memory</summary>
ROM = 14,
/// <summary>Programmable ROM</summary>
PROM = 15,
/// <summary>Erasable programmable ROM</summary>
EPROM = 16,
/// <summary>Electronically-erasable programmable ROM</summary>
EEPROM = 17,
/// <summary>NAND flash</summary>
NAND = 18,
/// <summary>NOR flash</summary>
NOR = 19,
/// <summary>Resistive RAM</summary>
ReRAM = 20,
/// <summary>Conductive-bridging RAM</summary>
CBRAM = 21,
/// <summary>Domain-wall memory</summary>
DWM = 22,
/// <summary>Nano-RAM</summary>
NanoRAM = 23,
/// <summary>Millipede memory</summary>
Millipede = 24,
/// <summary>Floating Junction Gate RAM</summary>
FJG = 25,
/// <summary>Punched paper</summary>
PunchedPaper = 26,
/// <summary>Drum memory</summary>
DrumMemory = 27,
/// <summary>Magnetic-core</summary>
MagneticCore = 28,
/// <summary>Plated wire memory</summary>
PlatedWire = 29,
/// <summary>Core rope memory</summary>
CoreRope = 30,
/// <summary>Thin-film memory</summary>
ThinFilm = 31,
/// <summary>Twistor memory</summary>
Twistor = 32,
/// <summary>Bubble memory</summary>
Bubble = 33
}
public enum MemoryUsage
{
/// <summary>Unknown usage</summary>
Unknown = 0,
/// <summary>
/// Contains a boot loader (usually read-only) whose only function is to load the next memory (firmware or
/// cartridge)
/// </summary>
Bootloader = 1,
/// <summary>
/// Contains hardware initializing, some (or many) low level calls and code to load software from secondary
/// storage
/// </summary>
Firmware = 2,
/// <summary>Memory used by software running on the machine</summary>
Work = 3,
/// <summary>Memory used by the graphics processing units</summary>
Video = 4,
/// <summary>Memory used by the sound synthetizers</summary>
Sound = 5,
/// <summary>Memory used to store wave tables</summary>
Wavetable = 6,
/// <summary>Memory used as a buffer from secondary storage</summary>
StorageBuffer = 7,
/// <summary>Memory used to save arbitrary data and possible also configuration</summary>
Save = 8,
/// <summary>Memory used to save only configuration</summary>
Configuration = 9,
/// <summary>
/// Memory accessible directly to any of the processors in the machine, including graphics processors and sound
/// synthetizers
/// </summary>
Unified = 10
}
}