/
unit1.lfm
684 lines (684 loc) · 17.9 KB
/
unit1.lfm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
object Form1: TForm1
AnchorSideBottom.Side = asrBottom
Left = 355
Height = 215
Top = 154
Width = 443
AllowDropFiles = True
BorderIcons = [biSystemMenu, biMinimize]
BorderStyle = bsSingle
Caption = 'Form1'
ClientHeight = 215
ClientWidth = 443
Color = clWhite
DoubleBuffered = True
KeyPreview = True
Menu = MainMenu1
OnCloseQuery = FormCloseQuery
OnCreate = FormCreate
OnDeactivate = FormDeactivate
OnDestroy = FormDestroy
OnDropFiles = FormDropFiles
OnShow = FormShow
ParentDoubleBuffered = False
LCLVersion = '3.3.0.0'
object PaintBox1: TPaintBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 0
Height = 105
Top = 0
Width = 105
end
object PanelStatus: TPanel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = PaintBox1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = PaintBox1
AnchorSideRight.Side = asrBottom
Left = 0
Height = 26
Top = 105
Width = 105
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BevelInner = bvLowered
BevelOuter = bvNone
ClientHeight = 26
ClientWidth = 105
ParentBackground = False
TabOrder = 0
object Panel1: TPanel
AnchorSideLeft.Control = PanelStatus
AnchorSideTop.Control = PanelStatus
Left = 1
Height = 19
Top = 1
Width = 64
AutoSize = True
BevelOuter = bvNone
ClientHeight = 19
ClientWidth = 64
ParentBackground = False
TabOrder = 0
object LabelSpeed: TLabel
AnchorSideLeft.Control = Panel1
AnchorSideTop.Control = Panel1
Left = 2
Height = 15
Top = 2
Width = 60
BorderSpacing.Around = 2
Caption = 'LabelSpeed'
ParentColor = False
end
end
object Panel2: TPanel
AnchorSideLeft.Control = Panel3
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = PanelStatus
Left = 131
Height = 19
Top = 1
Width = 73
AutoSize = True
BevelOuter = bvNone
ClientHeight = 19
ClientWidth = 73
ParentBackground = False
TabOrder = 2
object LabelJoystick: TLabel
AnchorSideLeft.Control = Panel2
AnchorSideTop.Control = Panel2
Left = 2
Height = 15
Top = 2
Width = 69
BorderSpacing.Around = 2
Caption = 'LabelJoystick'
ParentColor = False
end
end
object Panel3: TPanel
AnchorSideLeft.Control = Panel1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = PanelStatus
Left = 65
Height = 19
Top = 1
Width = 66
AutoSize = True
BevelOuter = bvNone
ClientHeight = 19
ClientWidth = 66
ParentBackground = False
TabOrder = 1
object LabelModel: TLabel
AnchorSideLeft.Control = Panel3
AnchorSideTop.Control = Panel3
Left = 2
Height = 15
Top = 2
Width = 62
BorderSpacing.Around = 2
Caption = 'LabelModel'
ParentColor = False
end
end
object Panel4: TPanel
AnchorSideTop.Control = PanelStatus
AnchorSideRight.Control = PanelStatus
AnchorSideRight.Side = asrBottom
Left = 70
Height = 24
Top = 1
Width = 34
Anchors = [akTop, akRight]
AutoSize = True
BevelOuter = bvNone
ClientHeight = 24
ClientWidth = 34
ParentBackground = False
ParentShowHint = False
TabOrder = 3
object ToolBar1: TToolBar
AnchorSideLeft.Control = Panel4
AnchorSideTop.Control = Panel4
Left = 0
Height = 24
Top = 0
Width = 34
Align = alNone
Caption = 'ToolBar1'
EdgeBorders = []
Images = DataModuleImages.ImageList1
ParentShowHint = False
ShowHint = True
TabOrder = 0
Wrapable = False
object ToolButton1: TToolButton
Left = 1
Top = 0
Caption = 'ToolButton1'
OnArrowClick = ToolButton1ArrowClick
OnClick = ToolButton1Click
Style = tbsDropDown
end
end
end
end
object ActionList1: TActionList
Images = DataModuleImages.ImageList1
Left = 197
Top = 48
object ActionExit: TAction
Category = 'File'
Caption = '&Exit'
Hint = 'Exit'
OnExecute = ActionExitExecute
end
object ActionPause: TAction
Category = 'Emulation'
Caption = 'Pause'
Hint = 'Pause Spectrum'
ImageIndex = 2
OnExecute = ActionPauseExecute
SecondaryShortCuts.Strings = (
'Break'
)
ShortCut = 119
end
object ActionSpeedIncrease: TAction
Category = 'Emulation'
Caption = 'Increase speed'
ImageIndex = 18
OnExecute = ActionSpeedIncreaseExecute
ShortCut = 121
end
object ActionSpeedDecrease: TAction
Category = 'Emulation'
Caption = 'Decrease speed'
ImageIndex = 19
OnExecute = ActionSpeedDecreaseExecute
ShortCut = 120
end
object ActionNormalSpeed: TAction
Category = 'Emulation'
Caption = 'Normal speed'
ImageIndex = 12
OnExecute = ActionNormalSpeedExecute
ShortCut = 122
end
object ActionFullSpeed: TAction
Category = 'Emulation'
Caption = 'Full speed'
ImageIndex = 13
OnExecute = ActionFullSpeedExecute
ShortCut = 123
end
object ActionSizeIncrease: TAction
Category = 'Options'
Caption = 'Increase size'
ImageIndex = 8
OnExecute = ActionSizeIncreaseExecute
ShortCut = 33
end
object ActionSizeDecrease: TAction
Category = 'Options'
Caption = 'Decrease size'
ImageIndex = 9
OnExecute = ActionSizeDecreaseExecute
ShortCut = 34
end
object ActionReset: TAction
Category = 'Emulation'
Caption = 'Reset Spectrum'
Hint = 'Reset the computer ("hard reset" — as if'#13#10'Spectrum is switched off and then back on)'
ImageIndex = 11
OnExecute = ActionResetExecute
end
object ActionOpen: TAction
Category = 'File'
Caption = '&Open...'
Hint = 'Open a file...'
ImageIndex = 0
OnExecute = ActionOpenExecute
ShortCut = 113
end
object ActionColours: TAction
Category = 'Options'
Caption = 'Colour palette...'
ImageIndex = 5
OnExecute = ActionColoursExecute
end
object ActionAbout: TAction
Category = 'Help'
Caption = '&About...'
Hint = 'About Swan...'
ImageIndex = 7
OnExecute = ActionAboutExecute
end
object ActionShowDebugger: TAction
Category = 'Debug'
Caption = 'Debugger...'
Hint = 'Show debugger'
ImageIndex = 30
OnExecute = ActionShowDebuggerExecute
end
object ActionAttachTap: TAction
Category = 'Tape'
Caption = 'Insert tape...'
Hint = 'Insert a tape...'
ImageIndex = 10
OnExecute = ActionAttachTapExecute
end
object ActionPlay: TAction
Category = 'Tape'
Caption = 'Play'
Hint = 'Play the tape'
ImageIndex = 1
OnExecute = ActionPlayExecute
end
object ActionShowTapePlayer: TAction
Category = 'Tape'
Caption = 'Show tape player...'
ImageIndex = 23
OnExecute = ActionShowTapePlayerExecute
end
object ActionRewind: TAction
Category = 'Tape'
Caption = 'Rewind'
Hint = 'Rewind to beginning'
ImageIndex = 4
OnExecute = ActionRewindExecute
end
object ActionStop: TAction
Category = 'Tape'
Caption = 'Stop'
Hint = 'Stop the tape'
ImageIndex = 3
OnExecute = ActionStopExecute
end
object ActionIncTapeBlock: TAction
Category = 'Tape'
Caption = 'Next block'
Hint = 'Go to next block'
ImageIndex = 6
OnExecute = ActionIncTapeBlockExecute
end
object ActionKeyMappings: TAction
Category = 'Options'
Caption = 'Key Mappings...'
ImageIndex = 28
OnExecute = ActionKeyMappingsExecute
end
object ActionJoystick: TAction
Category = 'Options'
Caption = 'Joystick...'
ImageIndex = 24
OnExecute = ActionJoystickExecute
end
object ActionDecTapeBlock: TAction
Category = 'Tape'
Caption = 'Previous block'
Hint = 'Go to previous block'
ImageIndex = 14
OnExecute = ActionDecTapeBlockExecute
end
object ActionEnableJoystick: TAction
Category = 'Options'
Caption = 'Joystick enabled'
OnExecute = ActionEnableJoystickExecute
end
object ActionEjectTape: TAction
Category = 'Tape'
Caption = 'Eject'
Hint = 'Eject the tape'
ImageIndex = 16
OnExecute = ActionEjectTapeExecute
end
object ActionFastLoading: TAction
Category = 'Options'
Caption = 'Fast tape loading'
Hint = 'Fast tape loading (skip screen drawing while tape is playing)'
ImageIndex = 27
OnExecute = ActionFastLoadingExecute
end
object ActionMuteSound: TAction
Category = 'Options'
Caption = 'Mute sound'
OnExecute = ActionMuteSoundExecute
end
object ActionPortAudioLibPath: TAction
Category = 'Options'
Caption = 'Portaudio library path...'
OnExecute = ActionPortAudioLibPathExecute
end
object ActionInputPokes: TAction
Category = 'Debug'
Caption = 'Pokes...'
ImageIndex = 31
OnExecute = ActionInputPokesExecute
end
object ActionMoveBack: TAction
Category = 'Emulation'
Caption = 'Move back'
Enabled = False
Hint = 'Rewind to previous snapshot'
OnExecute = ActionMoveBackExecute
end
object ActionHistorySnapshots: TAction
Category = 'Options'
Caption = 'Autosaving snapshots...'
ImageIndex = 17
OnExecute = ActionHistorySnapshotsExecute
end
object ActionEnableHistory: TAction
Category = 'Options'
Caption = 'Autosaving snapshots enabled'
OnExecute = ActionEnableHistoryExecute
end
object ActionSaveSzx: TAction
Category = 'File'
Caption = 'Save &szx snapshot...'
Hint = 'Save szx snapshot'
ImageIndex = 15
OnExecute = ActionSaveSzxExecute
ShortCut = 114
end
object ActionSaveZ80: TAction
Category = 'File'
Caption = 'Save &z80 snapshot...'
Hint = 'Save z80 snapshot'
ImageIndex = 15
OnExecute = ActionSaveZ80Execute
end
object ActionSaveSna: TAction
Category = 'File'
Caption = 'Save sna snapshot...'
Hint = 'Save sna snapshot'
ImageIndex = 15
OnExecute = ActionSaveSnaExecute
end
object ActionNMI: TAction
Category = 'Emulation'
Caption = 'NMI'
Hint = 'Send NMI signal to processor'
ImageIndex = 21
OnExecute = ActionNMIExecute
end
object ActionResetCPU: TAction
Category = 'Emulation'
Caption = 'Reset CPU'
Hint = 'Send RESET signal to processor ("soft reset")'
ImageIndex = 22
OnExecute = ActionResetCPUExecute
end
object ActionShowKeyboardOnScreen: TAction
Category = 'Options'
Caption = 'On-screen keyboard'
ImageIndex = 25
OnExecute = ActionShowKeyboardOnScreenExecute
end
object ActionModel16KIssue2: TAction
Category = 'SpectrumModel'
Caption = '16K (issue 2 keyboard)'
OnExecute = ActionModel16KIssue2Execute
end
object ActionModel16KIssue3: TAction
Category = 'SpectrumModel'
Caption = '16K (issue 3 keyboard)'
OnExecute = ActionModel16KIssue3Execute
end
object ActionModel48KIssue2: TAction
Category = 'SpectrumModel'
Caption = '48K (issue 2 keyboard)'
OnExecute = ActionModel48KIssue2Execute
end
object ActionModel48KIssue3: TAction
Category = 'SpectrumModel'
Caption = '48K (issue 3 keyboard)'
OnExecute = ActionModel48KIssue3Execute
end
object ActionAllOptions: TAction
Category = 'Options'
Caption = 'All options...'
Hint = 'Options...'
ImageIndex = 29
OnExecute = ActionAllOptionsExecute
end
object ActionModel128K: TAction
Category = 'SpectrumModel'
Caption = '128K Sinclair'
OnExecute = ActionModel128KExecute
end
object ActionModelPlus2: TAction
Category = 'SpectrumModel'
Caption = '+2 Amstrad'
OnExecute = ActionModelPlus2Execute
end
object ActionModelMoreOptions: TAction
Category = 'Options'
Caption = 'More options (custom roms)...'
OnExecute = ActionModelMoreOptionsExecute
end
object ActionLateTimings: TAction
Category = 'Options'
Caption = 'Late timings'
ImageIndex = 34
OnExecute = ActionLateTimingsExecute
end
object ActionShowHideToolbar: TAction
Category = 'Options'
Caption = 'Show toolbar'
Hint = 'Show/Hide toolbar'
OnExecute = ActionShowHideToolbarExecute
end
object ActionLoadBinaryFile: TAction
Category = 'File'
Caption = 'Load binary file...'
OnExecute = ActionLoadBinaryFileExecute
end
end
object MainMenu1: TMainMenu
Images = DataModuleImages.ImageList1
Left = 54
Top = 36
object MenuItem16: TMenuItem
Caption = '&File'
object MenuItem17: TMenuItem
Action = ActionOpen
end
object MenuItem39: TMenuItem
Action = ActionSaveSzx
end
object MenuItem13: TMenuItem
Action = ActionSaveZ80
end
object MenuItem18: TMenuItem
Action = ActionSaveSna
end
object Separator4: TMenuItem
Caption = '-'
end
object MenuItem56: TMenuItem
Action = ActionLoadBinaryFile
end
object Separator5: TMenuItem
Caption = '-'
end
object MenuItemRecentFiles: TMenuItem
Caption = 'Recent files'
end
object MenuItem23: TMenuItem
Caption = '-'
end
object MenuItem24: TMenuItem
Action = ActionExit
end
end
object MenuItem3: TMenuItem
Caption = '&Emulation'
object MenuItem4: TMenuItem
Action = ActionPause
end
object MenuItem12: TMenuItem
Action = ActionReset
end
object MenuItem41: TMenuItem
Caption = 'Signal processor'
ImageIndex = 20
object MenuItem42: TMenuItem
Action = ActionNMI
end
object MenuItem43: TMenuItem
Action = ActionResetCPU
end
end
object MenuItem5: TMenuItem
Action = ActionSpeedDecrease
end
object MenuItem6: TMenuItem
Action = ActionSpeedIncrease
end
object MenuItem7: TMenuItem
Action = ActionNormalSpeed
end
object MenuItem8: TMenuItem
Action = ActionFullSpeed
end
end
object MenuItem14: TMenuItem
Caption = '&Options'
object MenuItem26: TMenuItem
Action = ActionSizeIncrease
end
object MenuItem27: TMenuItem
Action = ActionSizeDecrease
end
object MenuItem47: TMenuItem
Action = ActionShowKeyboardOnScreen
end
object MenuItem10: TMenuItem
Action = ActionKeyMappings
end
object MenuItem15: TMenuItem
Action = ActionColours
end
object MenuItem36: TMenuItem
Action = ActionMuteSound
end
object MenuItem37: TMenuItem
Action = ActionPortAudioLibPath
end
object MenuItem44: TMenuItem
Caption = 'Model'
ImageIndex = 26
object MenuItem48: TMenuItem
Action = ActionModel16KIssue2
end
object MenuItem49: TMenuItem
Action = ActionModel16KIssue3
end
object MenuItem45: TMenuItem
Action = ActionModel48KIssue2
end
object MenuItem46: TMenuItem
Action = ActionModel48KIssue3
end
object MenuItem51: TMenuItem
Action = ActionModel128K
end
object MenuItem52: TMenuItem
Action = ActionModelPlus2
end
object Separator3: TMenuItem
Caption = '-'
end
object MenuItem53: TMenuItem
Action = ActionModelMoreOptions
end
end
object MenuItem54: TMenuItem
Action = ActionLateTimings
end
object MenuItem11: TMenuItem
Action = ActionJoystick
end
object MenuItem33: TMenuItem
Action = ActionEnableJoystick
end
object MenuItem35: TMenuItem
Action = ActionFastLoading
end
object MenuItem40: TMenuItem
Action = ActionHistorySnapshots
end
object MenuItem38: TMenuItem
Action = ActionEnableHistory
end
object MenuItem55: TMenuItem
Action = ActionShowHideToolbar
end
object Separator2: TMenuItem
Caption = '-'
end
object MenuItem50: TMenuItem
Action = ActionAllOptions
end
end
object MenuItem1: TMenuItem
Caption = '&Tape'
object MenuItem30: TMenuItem
Action = ActionShowTapePlayer
end
object Separator1: TMenuItem
Caption = '-'
end
object MenuItem2: TMenuItem
Action = ActionAttachTap
end
object MenuItem34: TMenuItem
Action = ActionEjectTape
end
object MenuItem25: TMenuItem
Action = ActionPlay
end
object MenuItem29: TMenuItem
Action = ActionStop
end
object MenuItem28: TMenuItem
Action = ActionRewind
end
object MenuItem32: TMenuItem
Action = ActionDecTapeBlock
end
object MenuItem9: TMenuItem
Action = ActionIncTapeBlock
end
end
object MenuItem21: TMenuItem
Caption = '&Debug'
object MenuItem22: TMenuItem
Action = ActionShowDebugger
end
object MenuItem31: TMenuItem
Action = ActionInputPokes
end
end
object MenuItem19: TMenuItem
Caption = '&Help'
object MenuItem20: TMenuItem
Action = ActionAbout
end
end
end
object OpenDialog1: TOpenDialog
Left = 133
Top = 25
end
object SaveDialog1: TSaveDialog
Left = 115
Top = 85
end
end