Skip to content

Commit dc1c00b

Browse files
committed
Refactor Z80Snapshot: replace if-else with switch expression for memory handling
1 parent bd3a4d7 commit dc1c00b

1 file changed

Lines changed: 13 additions & 11 deletions

File tree

src/Spectron.Emulation/Snapshot/Z80Snapshot.cs

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -73,18 +73,20 @@ internal static void Save(string fileName, Emulator emulator)
7373

7474
Z80File? snapshot = null;
7575

76-
if (emulator.Memory is Memory16K memory16K)
76+
switch (emulator.Memory)
7777
{
78-
snapshot = new Z80File(header, memory16K.Ram.ToArray());
79-
}
80-
else if (emulator.Memory is Memory48K memory48K)
81-
{
82-
snapshot = new Z80File(header, memory48K.Ram.ToArray());
83-
}
84-
else if (emulator.Memory is Memory128K memory128K)
85-
{
86-
header.Port7FFD = memory128K.LastPagingModeValue;
87-
snapshot = new Z80File(header, memory128K.Banks);
78+
case Memory16K memory16K:
79+
snapshot = new Z80File(header, memory16K.Ram.ToArray());
80+
break;
81+
82+
case Memory48K memory48K:
83+
snapshot = new Z80File(header, memory48K.Ram.ToArray());
84+
break;
85+
86+
case Memory128K memory128K:
87+
header.Port7FFD = memory128K.LastPagingModeValue;
88+
snapshot = new Z80File(header, memory128K.Banks);
89+
break;
8890
}
8991

9092
snapshot?.Save(fileName);

0 commit comments

Comments
 (0)