Browse Source

Add machine type support for MZ-80K/A/B and MZ-800. 2021-08-09 20:38 ZRY.

zry 2 years ago
parent
commit
e930f518cc
1 changed files with 52 additions and 0 deletions
  1. 52 0
      machine.go

+ 52 - 0
machine.go

@@ -38,6 +38,58 @@ func getMachineRelatedConfigByType(mt MachineType) machineRelatedConfig {
 			LongTapemarkSize:      40,
 			TapemarkEndLongPulse:  1,
 		}
+	case MACHINE_MZ_80K:
+		return machineRelatedConfig{
+			Unsupported:           false,
+			ShortPulseSampleHigh:  10,
+			ShortPulseSampleTotal: 21,
+			LongPulseSampleHigh:   20,
+			LongPulseSampleTotal:  42,
+			LongGapSize:           22000,
+			ShortGapSize:          11000,
+			ShortTapemarkSize:     20,
+			LongTapemarkSize:      40,
+			TapemarkEndLongPulse:  1,
+		}
+	case MACHINE_MZ_80A:
+		return machineRelatedConfig{
+			Unsupported:           false,
+			ShortPulseSampleHigh:  10,
+			ShortPulseSampleTotal: 21,
+			LongPulseSampleHigh:   20,
+			LongPulseSampleTotal:  42,
+			LongGapSize:           22000,
+			ShortGapSize:          11000,
+			ShortTapemarkSize:     20,
+			LongTapemarkSize:      40,
+			TapemarkEndLongPulse:  1,
+		}
+	case MACHINE_MZ_80B:
+		return machineRelatedConfig{
+			Unsupported:           false,
+			ShortPulseSampleHigh:  7,
+			ShortPulseSampleTotal: 14,
+			LongPulseSampleHigh:   15,
+			LongPulseSampleTotal:  30,
+			LongGapSize:           10000,
+			ShortGapSize:          5000,
+			ShortTapemarkSize:     20,
+			LongTapemarkSize:      40,
+			TapemarkEndLongPulse:  1,
+		}
+	case MACHINE_MZ_800:
+		return machineRelatedConfig{
+			Unsupported:           false,
+			ShortPulseSampleHigh:  11,
+			ShortPulseSampleTotal: 23,
+			LongPulseSampleHigh:   21,
+			LongPulseSampleTotal:  43,
+			LongGapSize:           22000,
+			ShortGapSize:          11000,
+			ShortTapemarkSize:     20,
+			LongTapemarkSize:      40,
+			TapemarkEndLongPulse:  1,
+		}
 	default:
 		return machineRelatedConfig{
 			Unsupported: true,