-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMemory.dfm
489 lines (489 loc) · 9.95 KB
/
Memory.dfm
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
object f_Memory: Tf_Memory
Left = 0
Top = 0
Caption = 'Program Memory'
ClientHeight = 461
ClientWidth = 685
Color = clBtnFace
Constraints.MaxWidth = 701
Constraints.MinHeight = 250
Constraints.MinWidth = 701
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
Visible = True
OnCloseQuery = FormCloseQuery
OnCreate = FormCreate
DesignSize = (
685
461)
PixelsPerInch = 96
TextHeight = 13
object l_Data: TLabel
Left = 205
Top = 387
Width = 27
Height = 13
Anchors = [akLeft, akBottom]
Caption = 'Data:'
ExplicitTop = 425
end
object l_AddrTx: TLabel
Left = 8
Top = 437
Width = 71
Height = 13
Anchors = [akLeft, akBottom]
Caption = 'Address Delta:'
ExplicitTop = 475
end
object l_AddrVal: TLabel
Left = 85
Top = 437
Width = 36
Height = 13
Anchors = [akLeft, akBottom]
Caption = '0x0000'
ExplicitTop = 475
end
object l_Sort: TLabel
Left = 136
Top = 437
Width = 24
Height = 13
Anchors = [akLeft, akBottom]
Caption = 'Sort:'
Visible = False
ExplicitTop = 475
end
object l_Width: TLabel
Left = 336
Top = 387
Width = 76
Height = 13
Anchors = [akLeft, akBottom]
Caption = 'MaxData: 8 bits'
ExplicitTop = 425
end
object cb_OpCode: TComboBox
Left = 8
Top = 384
Width = 185
Height = 21
Anchors = [akLeft, akBottom]
DropDownCount = 18
ParentShowHint = False
ShowHint = True
TabOrder = 0
Text = 'OpCode'
OnChange = cb_OpCodeChange
end
object cb_D: TComboBox
Left = 607
Top = 384
Width = 70
Height = 21
Style = csDropDownList
Anchors = [akLeft, akBottom]
DropDownCount = 16
ItemIndex = 0
TabOrder = 1
Text = '0'
Items.Strings = (
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'A'
'B'
'C'
'D'
'E'
'F')
end
object cb_C: TComboBox
Left = 519
Top = 384
Width = 70
Height = 21
Style = csDropDownList
Anchors = [akLeft, akBottom]
DropDownCount = 16
Enabled = False
ItemIndex = 0
TabOrder = 2
Text = '0'
Items.Strings = (
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'A'
'B'
'C'
'D'
'E'
'F')
end
object cb_B: TComboBox
Left = 431
Top = 384
Width = 70
Height = 21
Style = csDropDownList
Anchors = [akLeft, akBottom]
DropDownCount = 16
Enabled = False
ItemIndex = 0
TabOrder = 3
Text = '0'
Items.Strings = (
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'A'
'B'
'C'
'D'
'E'
'F')
end
object e_Data: TEdit
Left = 237
Top = 384
Width = 94
Height = 21
Anchors = [akLeft, akBottom]
TabOrder = 4
Text = '0000'
OnExit = e_DataExit
OnKeyPress = e_DataKeyPress
end
object rb_Bin: TRadioButton
Left = 237
Top = 406
Width = 93
Height = 17
Anchors = [akLeft, akBottom]
Caption = 'Binary'
TabOrder = 5
OnClick = rb_BinClick
end
object rb_Dec: TRadioButton
Left = 237
Top = 423
Width = 93
Height = 17
Anchors = [akLeft, akBottom]
Caption = 'Decimal'
TabOrder = 6
OnClick = rb_DecClick
end
object rb_Hex: TRadioButton
Left = 237
Top = 440
Width = 93
Height = 17
Anchors = [akLeft, akBottom]
Caption = 'Hexadecimal'
Checked = True
TabOrder = 7
TabStop = True
OnClick = rb_HexClick
end
object b_Delete: TButton
Left = 617
Top = 428
Width = 60
Height = 25
Anchors = [akRight, akBottom]
Caption = 'Delete'
TabOrder = 8
OnClick = b_DeleteClick
end
object b_Edit: TButton
Left = 468
Top = 428
Width = 60
Height = 25
Anchors = [akRight, akBottom]
Caption = 'Edit'
Enabled = False
TabOrder = 9
OnClick = b_EditClick
end
object b_Add: TButton
Left = 336
Top = 428
Width = 60
Height = 25
Anchors = [akRight, akBottom]
Caption = 'Add'
Enabled = False
TabOrder = 10
OnClick = b_AddClick
end
object dbg_Mem: TDBGrid
Left = 8
Top = 32
Width = 669
Height = 346
Anchors = [akLeft, akTop, akRight, akBottom]
DataSource = ds_Mem
Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit]
TabOrder = 11
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'Tahoma'
TitleFont.Style = []
OnDrawDataCell = dbg_MemDrawDataCell
OnDblClick = dbg_MemDblClick
end
object e_Sort: TEdit
Left = 161
Top = 434
Width = 65
Height = 21
Anchors = [akLeft, akBottom]
Enabled = False
TabOrder = 12
Text = 'Sort'
Visible = False
end
object b_Insert: TButton
Left = 402
Top = 428
Width = 60
Height = 25
Anchors = [akRight, akBottom]
Caption = 'Insert ^'
Enabled = False
TabOrder = 13
OnClick = b_InsertClick
end
object b_Save: TButton
Left = 186
Top = 8
Width = 75
Height = 18
Caption = 'Save'
TabOrder = 14
OnClick = b_SaveClick
end
object b_Load: TButton
Left = 8
Top = 8
Width = 75
Height = 18
Caption = 'Load'
Enabled = False
TabOrder = 15
OnClick = b_LoadClick
end
object b_Import: TButton
Left = 602
Top = 8
Width = 75
Height = 18
Caption = 'Import'
Enabled = False
TabOrder = 16
OnClick = b_ImportClick
end
object e_Comment: TEdit
Left = 8
Top = 411
Width = 185
Height = 21
Anchors = [akLeft, akBottom]
TabOrder = 17
end
object b_Clear: TButton
Left = 514
Top = 8
Width = 75
Height = 18
Caption = 'Clear'
TabOrder = 18
OnClick = b_ClearClick
end
object cb_StepByStep: TCheckBox
Left = 307
Top = 8
Width = 82
Height = 17
Caption = 'StepByStep'
TabOrder = 19
OnClick = cb_StepByStepClick
end
object b_Next: TButton
Left = 390
Top = 8
Width = 75
Height = 18
Caption = 'Next'
Enabled = False
TabOrder = 20
OnClick = b_NextClick
end
object b_BreakPoint: TButton
Left = 542
Top = 428
Width = 60
Height = 25
Anchors = [akRight, akBottom]
Caption = 'Breakpoint'
Enabled = False
TabOrder = 21
OnClick = b_BreakPointClick
end
object b_boot: TButton
Left = 97
Top = 8
Width = 75
Height = 18
Caption = 'Boot'
TabOrder = 22
OnClick = b_bootClick
end
object cds_Mem: TClientDataSet
Aggregates = <>
FieldDefs = <>
IndexDefs = <>
Params = <>
StoreDefs = True
AfterScroll = cds_MemAfterScroll
OnCalcFields = cds_MemCalcFields
Left = 144
Top = 40
object cds_MemAddress: TIntegerField
DisplayWidth = 8
FieldKind = fkCalculated
FieldName = 'Address'
Visible = False
Calculated = True
end
object cds_MemAddrHex: TStringField
FieldKind = fkCalculated
FieldName = 'AddrHex'
Size = 4
Calculated = True
end
object cds_MemAddrDelta: TIntegerField
FieldName = 'AddrDelta'
Visible = False
end
object cds_MemMnemonic: TStringField
FieldName = 'Mnemonic'
Size = 5
end
object cds_MemHumData: TStringField
DisplayLabel = 'HumanReadable'
DisplayWidth = 32
FieldName = 'HumData'
Size = 64
end
object cds_MemCode: TStringField
DisplayLabel = 'MachineCode'
DisplayWidth = 18
FieldName = 'Code'
Size = 16
end
object cds_MemCodeHex: TStringField
FieldName = 'CodeHex'
Size = 4
end
object cds_MemComment: TStringField
DisplayWidth = 28
FieldName = 'Comment'
Size = 64
end
object cds_MemOpCode: TIntegerField
FieldName = 'OpCode'
Visible = False
end
object cds_MemData: TStringField
FieldName = 'Data'
Visible = False
Size = 8
end
object cds_MemDataType: TIntegerField
FieldName = 'DataType'
Visible = False
end
object cds_MemRB: TIntegerField
FieldName = 'RB'
Visible = False
end
object cds_MemRC: TIntegerField
FieldName = 'RC'
Visible = False
end
object cds_MemRD: TIntegerField
FieldName = 'RD'
Visible = False
end
object cds_MemSort: TIntegerField
FieldName = 'Sort'
Visible = False
end
object cds_MemBreakPoint: TBooleanField
FieldName = 'BreakPoint'
end
end
object ds_Mem: TDataSource
DataSet = cds_Mem
OnDataChange = ds_MemDataChange
Left = 104
Top = 40
end
object sd_Mem: TSaveDialog
DefaultExt = '.xml'
FileName = 'ROM.xml'
Filter = 'xml|*.xml|all|*.*'
Options = [ofOverwritePrompt, ofHideReadOnly, ofPathMustExist, ofEnableSizing]
Title = 'Save ROM to'
Left = 184
Top = 40
end
object od_Mem: TOpenDialog
DefaultExt = '.xml'
FileName = 'ROM.xml'
Filter = 'xml|*.xml|all|*.*'
Options = [ofHideReadOnly, ofPathMustExist, ofEnableSizing]
Title = 'Load ROM from'
Left = 224
Top = 40
end
object od_Assembler: TOpenDialog
DefaultExt = '.asm'
Filter = 'asm|*.asm|txt|*.txt|all|*.*'
Options = [ofPathMustExist, ofEnableSizing]
Title = 'Load Program From'
Left = 304
Top = 40
end
end