diff --git a/backup/main.lfm b/backup/main.lfm
index e18f375..f0dddc3 100644
--- a/backup/main.lfm
+++ b/backup/main.lfm
@@ -1,13 +1,13 @@
object GUIForm: TGUIForm
- Left = 2270
- Height = 574
- Top = 247
- Width = 945
+ Left = 2260
+ Height = 668
+ Top = 311
+ Width = 1014
AlphaBlendValue = 128
Caption = 'microM8 GUI'
- ClientHeight = 549
- ClientWidth = 945
- Constraints.MinWidth = 945
+ ClientHeight = 648
+ ClientWidth = 1014
+ Constraints.MinWidth = 1014
DoubleBuffered = False
Menu = MainMenu1
OnChangeBounds = FormChangeBounds
@@ -27,16 +27,16 @@ object GUIForm: TGUIForm
LCLVersion = '2.0.0.4'
object StatusBar1: TStatusBar
Left = 0
- Height = 19
- Top = 530
- Width = 945
+ Height = 23
+ Top = 625
+ Width = 1014
Panels = <>
end
object ToolBar1: TToolBar
Left = 0
Height = 36
Top = 0
- Width = 945
+ Width = 1014
ButtonHeight = 32
ButtonWidth = 32
Caption = 'ToolBar1'
@@ -44,89 +44,123 @@ object GUIForm: TGUIForm
TabOrder = 1
object tbTintMode: TToolButton
Left = 1
+ Hint = 'Tint mode'
Top = 2
Caption = 'tbTintMode'
ImageIndex = 0
OnClick = tbTintModeClick
+ ParentShowHint = False
+ ShowHint = True
end
object tbRMVoxels: TToolButton
Tag = 1
Left = 549
+ Hint = 'Voxel Render'
Top = 2
Caption = 'Voxels'
Down = True
Grouped = True
ImageIndex = 4
OnClick = tbRMClick
+ ParentShowHint = False
+ PopupMenu = RecordingMenu
+ ShowHint = True
Style = tbsCheck
end
object tbRMDots: TToolButton
Left = 585
+ Hint = 'Dot Render'
Top = 2
Caption = 'Dots'
Grouped = True
ImageIndex = 5
OnClick = tbRMClick
+ ParentShowHint = False
+ ShowHint = True
Style = tbsCheck
end
object tbRMRaster: TToolButton
Tag = 2
Left = 621
+ Hint = 'Raster Render'
Top = 2
Caption = 'Raster'
Grouped = True
ImageIndex = 6
OnClick = tbRMClick
+ ParentShowHint = False
+ ShowHint = True
Style = tbsCheck
end
object tbRMColor: TToolButton
Left = 657
+ Hint = 'Toggle Color/Mono'
Top = 2
Caption = 'tbRMColor'
ImageIndex = 7
OnClick = tbRMColorClick
+ ParentShowHint = False
+ ShowHint = True
end
- object ToolButton4: TToolButton
+ object tbRECState: TToolButton
Left = 725
+ Hint = 'Start Recording'
Top = 2
- Caption = 'ToolButton4'
+ Caption = 'tbRECState'
+ DropdownMenu = RecordingMenu
ImageIndex = 9
- OnClick = miRECStartFileClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton5: TToolButton
Left = 761
+ Hint = 'Rewind'
Top = 2
Caption = 'ToolButton5'
ImageIndex = 12
OnClick = miRECRewindClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton6: TToolButton
Left = 797
+ Hint = 'Forwards'
Top = 2
Caption = 'ToolButton6'
ImageIndex = 13
OnClick = miRECPlayClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton7: TToolButton
Left = 833
+ Hint = 'Resume'
Top = 2
Caption = 'ToolButton7'
ImageIndex = 14
OnClick = miRECResumeClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton8: TToolButton
Left = 869
+ Hint = 'Stop Recording'
Top = 2
Caption = 'ToolButton8'
ImageIndex = 15
OnClick = miRECStopClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton9: TToolButton
Left = 905
+ Hint = 'Pause'
Top = 2
Caption = 'ToolButton9'
ImageIndex = 16
OnClick = ToolButton9Click
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton10: TToolButton
Left = 693
@@ -136,31 +170,43 @@ object GUIForm: TGUIForm
end
object tbJoystickAxisSwitch: TToolButton
Left = 37
+ Hint = 'Swap Joystick Axis'
Top = 2
Caption = 'tbJoystickAxisSwitch'
ImageIndex = 21
OnClick = tbJoystickAxisSwitchClick
+ ParentShowHint = False
+ ShowHint = True
end
object tbCapsMode: TToolButton
Left = 73
+ Hint = 'Toggle CAPS mode'
Top = 2
Caption = 'tbCapsMode'
ImageIndex = 17
OnClick = tbCapsModeClick
+ ParentShowHint = False
+ ShowHint = True
end
object tbScanlines: TToolButton
Left = 109
+ Hint = 'Toggle Interlacing'
Top = 2
Caption = 'tbScanlines'
ImageIndex = 19
OnClick = tbScanlinesClick
+ ParentShowHint = False
+ ShowHint = True
end
object tbWebDebugger: TToolButton
Left = 145
+ Hint = 'Web Debugger'
Top = 2
Caption = 'tbWebDebugger'
ImageIndex = 28
OnClick = miToolsWebDebuggerClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton15: TToolButton
Left = 181
@@ -170,19 +216,23 @@ object GUIForm: TGUIForm
end
object tbVolDown: TToolButton
Left = 213
+ Hint = 'Volume Down'
Top = 2
Caption = 'tbVolDown'
ImageIndex = 23
OnClick = tbVolDownClick
+ ParentShowHint = False
+ ShowHint = True
end
object tbMasterVolume: TTrackBar
Left = 249
- Height = 38
+ Height = 32
Top = 2
Width = 64
OnChange = tbMasterVolumeChange
Position = 0
ScalePos = trBottom
+ TabStop = False
TickMarks = tmBoth
TickStyle = tsManual
OnKeyDown = FormKeyDown
@@ -191,10 +241,13 @@ object GUIForm: TGUIForm
end
object tbVolUp: TToolButton
Left = 313
+ Hint = 'Volume Up'
Top = 2
Caption = 'tbVolUp'
ImageIndex = 24
OnClick = tbVolUpClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton3: TToolButton
Left = 349
@@ -204,20 +257,24 @@ object GUIForm: TGUIForm
end
object tbSpeedDown: TToolButton
Left = 381
+ Hint = 'CPU Speed Down'
Top = 2
Caption = 'tbSpeedDown'
ImageIndex = 25
OnClick = tbSpeedDownClick
+ ParentShowHint = False
+ ShowHint = True
end
object TrackBar2: TTrackBar
Left = 417
- Height = 38
+ Height = 32
Top = 2
Width = 64
Max = 4
OnChange = TrackBar2Change
Position = 0
ScalePos = trBottom
+ TabStop = False
TickMarks = tmBoth
TickStyle = tsManual
OnKeyDown = FormKeyDown
@@ -226,10 +283,13 @@ object GUIForm: TGUIForm
end
object tbSpeedUp: TToolButton
Left = 481
+ Hint = 'CPU Speed Up'
Top = 2
Caption = 'tbSpeedUp'
ImageIndex = 26
OnClick = tbSpeedUpClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton18: TToolButton
Left = 517
@@ -237,35 +297,51 @@ object GUIForm: TGUIForm
Caption = 'ToolButton18'
Enabled = False
end
+ object ToolButton1: TToolButton
+ Left = 941
+ Top = 2
+ Caption = 'ToolButton1'
+ Enabled = False
+ end
+ object tbFullscreen: TToolButton
+ Left = 973
+ Hint = 'Fullscreen'
+ Top = 2
+ Caption = 'tbFullscreen'
+ ImageIndex = 29
+ OnClick = tbFullscreenClick
+ ParentShowHint = False
+ ShowHint = True
+ end
end
object pnlContainer: TPanel
Left = 0
- Height = 494
+ Height = 589
Top = 36
- Width = 945
+ Width = 1014
Align = alClient
BevelOuter = bvNone
- ClientHeight = 494
- ClientWidth = 945
+ ClientHeight = 589
+ ClientWidth = 1014
Color = clAqua
ParentColor = False
TabOrder = 2
object sidecarPanel: TPanel
- Left = 775
- Height = 494
+ Left = 844
+ Height = 589
Top = 0
Width = 170
Align = alRight
BevelOuter = bvNone
Caption = 'sidecarPanel'
- ClientHeight = 494
+ ClientHeight = 589
ClientWidth = 170
Color = clBlack
ParentColor = False
TabOrder = 0
object Image1: TImage
Left = 0
- Height = 494
+ Height = 589
Top = 0
Width = 170
Align = alClient
@@ -5358,13 +5434,13 @@ object GUIForm: TGUIForm
end
object embedPanel: TPanel
Left = 0
- Height = 494
+ Height = 589
Top = 0
- Width = 775
+ Width = 844
Align = alClient
BevelOuter = bvNone
- ClientHeight = 494
- ClientWidth = 775
+ ClientHeight = 589
+ ClientWidth = 844
Color = clBlack
Font.Color = clWhite
ParentColor = False
@@ -5372,9 +5448,9 @@ object GUIForm: TGUIForm
TabOrder = 1
object backdrop: TImage
Left = 0
- Height = 494
+ Height = 589
Top = 0
- Width = 775
+ Width = 844
Align = alClient
OnClick = backdropClick
Stretch = True
@@ -5432,41 +5508,49 @@ object GUIForm: TGUIForm
OnClick = miVMClick
object miVM1: TMenuItem
Caption = '1'
+ RadioItem = True
ShortCut = 24625
OnClick = miVM1Click
end
object miVM2: TMenuItem
Caption = '2'
+ RadioItem = True
ShortCut = 24626
OnClick = miVM1Click
end
object miVM3: TMenuItem
Caption = '3'
+ RadioItem = True
ShortCut = 24627
OnClick = miVM1Click
end
object miVM4: TMenuItem
Caption = '4'
+ RadioItem = True
ShortCut = 24628
OnClick = miVM1Click
end
object miVM5: TMenuItem
Caption = '5'
+ RadioItem = True
ShortCut = 24629
OnClick = miVM1Click
end
object miVM6: TMenuItem
Caption = '6'
+ RadioItem = True
ShortCut = 24630
OnClick = miVM1Click
end
object miVM7: TMenuItem
Caption = '7'
+ RadioItem = True
ShortCut = 24631
OnClick = miVM1Click
end
object miVM8: TMenuItem
Caption = '8'
+ RadioItem = True
ShortCut = 24632
OnClick = miVM1Click
end
@@ -5848,6 +5932,14 @@ object GUIForm: TGUIForm
ShortCut = 32781
OnClick = MenuItem14Click
end
+ object N10: TMenuItem
+ Caption = '-'
+ end
+ object miVideoScreenshot: TMenuItem
+ Caption = 'Take Screenshot'
+ ShortCut = 24796
+ OnClick = miVideoScreenshotClick
+ end
end
object Input: TMenuItem
Caption = 'Input'
@@ -6275,10 +6367,12 @@ object GUIForm: TGUIForm
end
object miRECRewind: TMenuItem
Caption = 'Rewind'
+ ShortCut = 24795
OnClick = miRECRewindClick
end
object miRECPlay: TMenuItem
Caption = 'Play'
+ ShortCut = 24797
OnClick = miRECPlayClick
end
object miRECResume: TMenuItem
@@ -6314,15 +6408,25 @@ object GUIForm: TGUIForm
end
object miTools: TMenuItem
Caption = 'Tools'
+ OnClick = miToolsClick
object miToolsTracker: TMenuItem
Caption = 'microTracker'
OnClick = miToolsTrackerClick
end
object miToolsWebDebugger: TMenuItem
Caption = 'Web Debugger'
+ ShortCut = 24642
OnClick = miToolsWebDebuggerClick
end
end
+ object miHelp: TMenuItem
+ Caption = 'Help'
+ object miMMHelp: TMenuItem
+ Caption = 'microM8 Help'
+ ShortCut = 24648
+ OnClick = miMMHelpClick
+ end
+ end
end
object ToolbarIcons: TImageList
Height = 32
@@ -6331,7 +6435,7 @@ object GUIForm: TGUIForm
left = 96
top = 48
Bitmap = {
- 4C691D0000002000000020000000CA9BCA00B16DB100B16DB100B16DB100B16D
+ 4C691E0000002000000020000000CA9BCA00B16DB100B16DB100B16DB100B16D
B100B16DB100B16DB100B16DB100B16DB100B16DB100B16DB100AD72BB0E8C68
D54C6E5CEA805A52F69F5353FFB15353FFB15A52F69F6E5CEA808C68D54CAD72
BB0EB16DB100B16DB100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
@@ -10043,7 +10147,135 @@ object GUIForm: TGUIForm
ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6ED002D99B33C28C6
ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6
ED002B9EBB3528C6ED00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0070107137660068DD660068F76600
+ 68F7660068F7660068F7660068F7660068F7660068F7660068F7660068D06600
+ 68226600680066006800660068006600680066006800660068006600681A6600
+ 68C9660068F7660068F7660068F7660068F7660068F7660068F7660068F76600
+ 68F7660068E266006842FFFFFF00FFFFFF00701071CD660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 6891660068006600680066006800660068006600680066006800660068816600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068DDFFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 6871660068006600680066006800660068006600680066006800660068616600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068BD6600688E6600688E6600688E660068686600
+ 6802660068006600680066006800660068006600680066006800660068016600
+ 68616600688E6600688E6600688E660068B6660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068EF660068346600680066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 680066006800660068006600682A660068E8660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068EE6600683466006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 6800660068006600682A660068E8660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68C6660068E8660068FF660068FF660068FF660068EE66006834660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 68006600682A660068E8660068FF660068FF660068FF660068EE660068BF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68A26600682A660068E8660068FF660068FF660068FF660068EE660068346600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 682A660068E8660068FF660068FF660068FF660068EE66006834660068926600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68A1660068006600682A660068E8660068FF660068FF660068FF660068EE6600
+ 68346600680066006800660068006600680066006800660068006600682A6600
+ 68E8660068FF660068FF660068FF660068EE6600683466006800660068916600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68A266006800660068006600682A660068E8660068FF660068FF660068FF6600
+ 68EE66006825660068006600680066006800660068006600681C660068E86600
+ 68FF660068FF660068FF660068EE660068346600680066006800660068926600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071BE660068FF660068FF6600
+ 687D6600680066006800660068006600682A660068E8660068FF660068FF6600
+ 68FF660068776600680066006800660068006600680066006867660068FF6600
+ 68FF660068FF660068EE660068346600680066006800660068006600686D6600
+ 68FF660068FF660068CEFFFFFF00FFFFFF007010711C660068906600687C6600
+ 6807660068006600680066006800660068006600682A660068E8660068FF6600
+ 68F9660068346600680066006800660068006600680066006828660068F56600
+ 68FF660068EE660068348C408E008C408E008C408E008C408E008C408E038C40
+ 8E768C408E948C408E23FFFFFF00FFFFFF007010710066006800660068006600
+ 68006600680066006800660068006600680066006800660068206600687B6600
+ 683A660068006600680066006800660068006600680066006800660068326600
+ 687C6600682666006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007010710066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 68006600680066006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007010710066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 68006600680066006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007010710066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 68006600680066006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007010710066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 68006600680066006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007010710066006800660068006600
+ 6800660068006600680066006800660068006600680066006803660068336600
+ 680E6600680066006800660068006600680066006800660068006600680C6600
+ 68346600680566006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00701071036600684C660068386600
+ 6800660068006600680066006800660068006600680C660068C0660068FF6600
+ 68ED6600682F6600680066006800660068006600680066006825660068E76600
+ 68FF660068CA66006811BC90BD00BC90BD00BC90BD00BC90BD00BC90BD00BC90
+ BD32BC90BD4FBC90BD06FFFFFF00FFFFFF007010719A660068FF660068FF6600
+ 68596600680066006800660068006600680C660068C2660068FF660068FF6600
+ 68FF6600688D660068006600680066006800660068006600687D660068FF6600
+ 68FF660068FF660068CC660068116600680066006800660068006600684A6600
+ 68FE660068FF660068AAFFFFFF00FFFFFF00701071E2660068FF660068FF6600
+ 689F66006800660068006600680C660068C2660068FF660068FF660068FF6600
+ 68FE6600684B660068006600680066006800660068006600683D660068FC6600
+ 68FF660068FF660068FF660068CC6600681166006800660068006600688F6600
+ 68FF660068FF660068F2FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68A1660068006600680C660068C2660068FF660068FF660068FF660068FE7B24
+ 7D67D9C0DA00D9C0DA00D9C0DA00D9C0DA00D9C0DA00D9C0DA00833084596600
+ 68FC660068FF660068FF660068FF660068CC6600681166006800660068916600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68A16600680C660068C2660068FF660068FF660068FF660068FE660068678330
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E006600
+ 6859660068FC660068FF660068FF660068FF660068CC66006811660068916600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68AD660068C2660068FF660068FF660068FF660068FE66006867660068008330
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E006600
+ 680066006859660068FC660068FF660068FF660068FF660068CC660068A36600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068FE6600686766006800660068008330
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E006600
+ 68006600680066006859660068FC660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068FE660068676600680066006800660068008330
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E006600
+ 6800660068006600680066006859660068FC660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068BD660068606600686066006860660068428330
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E006600
+ 683D660068606600686066006860660068B3660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF8330
+ 846DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E5E6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071DE660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF8330
+ 84ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E9C6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068EEFFFFFF00FFFFFF0070107157660068F5660068FF6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068F78330
+ 8448FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E3C6600
+ 68F3660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 68FF660068F866006865FFFFFF00FFFFFF00E5D3E500E3D0E30FE3D0E325E3D0
+ E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0E30FE8D9
+ E800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EADCEA00E3D0
+ E30DE3D0E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0
+ E325E3D0E312E3D0E300FFFFFF00
}
end
object DiskMenu: TPopupMenu
@@ -10164,4 +10396,42 @@ object GUIForm: TGUIForm
left = 24
top = 216
end
+ object RecordingMenu: TPopupMenu
+ Images = ToolbarIcons
+ ImagesWidth = 32
+ left = 96
+ top = 216
+ object miStartDiskRec: TMenuItem
+ Caption = 'Start Disk Recording'
+ ImageIndex = 10
+ SubMenuImages = ToolbarIcons
+ OnClick = miRECStartFileClick
+ end
+ object miStartLiveRewindRecord: TMenuItem
+ Caption = 'Enable Live Rewind'
+ ImageIndex = 11
+ SubMenuImages = ToolbarIcons
+ OnClick = miRECLiveRewindClick
+ end
+ end
+ object ProfileMenu: TPopupMenu
+ left = 168
+ top = 216
+ object miPMApple2eEnh: TMenuItem
+ Caption = 'Apple //e Enhanced'
+ OnClick = miPRFIIeEnhancedClick
+ end
+ object miPMApple2eEnhCPM: TMenuItem
+ Caption = 'Apple //e Enhanced (Softcard)'
+ OnClick = miPRFIIeEnhancedSoftcardClick
+ end
+ object miPMApple2e: TMenuItem
+ Caption = 'Apple //e'
+ OnClick = miPRFIIeClick
+ end
+ object miPMApple2plus: TMenuItem
+ Caption = 'Apple ][+'
+ OnClick = miPRFIIplusClick
+ end
+ end
end
diff --git a/backup/main.pas b/backup/main.pas
index d2e420f..82c0aab 100644
--- a/backup/main.pas
+++ b/backup/main.pas
@@ -24,6 +24,16 @@ type
MenuItem14: TMenuItem;
MenuItem17: TMenuItem;
MenuItem18: TMenuItem;
+ miVideoScreenshot: TMenuItem;
+ N10: TMenuItem;
+ miPMApple2plus: TMenuItem;
+ miPMApple2e: TMenuItem;
+ miPMApple2eEnhCPM: TMenuItem;
+ miPMApple2eEnh: TMenuItem;
+ miStartLiveRewindRecord: TMenuItem;
+ miStartDiskRec: TMenuItem;
+ miMMHelp: TMenuItem;
+ miHelp: TMenuItem;
miVM8: TMenuItem;
miVM7: TMenuItem;
miVM6: TMenuItem;
@@ -66,6 +76,8 @@ type
Image1: TImage;
odFreezeFiles: TOpenDialog;
pnlContainer: TPanel;
+ ProfileMenu: TPopupMenu;
+ RecordingMenu: TPopupMenu;
sdFreezeFiles: TSaveDialog;
SideImages: TImageList;
miWarp400: TMenuItem;
@@ -174,6 +186,7 @@ type
sidecarPanel: TPanel;
FSTimer: TTimer;
tbVolDown: TToolButton;
+ ToolButton1: TToolButton;
ToolButton10: TToolButton;
tbJoystickAxisSwitch: TToolButton;
tbCapsMode: TToolButton;
@@ -184,8 +197,9 @@ type
tbSpeedUp: TToolButton;
ToolButton18: TToolButton;
tbVolUp: TToolButton;
+ tbFullscreen: TToolButton;
ToolButton3: TToolButton;
- ToolButton4: TToolButton;
+ tbRECState: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
@@ -368,6 +382,7 @@ type
procedure miJSAxisSwapClick(Sender: TObject);
procedure miJSXRevClick(Sender: TObject);
procedure miJSYRevClick(Sender: TObject);
+ procedure miMMHelpClick(Sender: TObject);
procedure miMonoDotsClick(Sender: TObject);
procedure miMonoRasterClick(Sender: TObject);
procedure miMonoVoxelsClick(Sender: TObject);
@@ -409,17 +424,20 @@ type
procedure miSVOL000Click(Sender: TObject);
procedure miTintModeClick(Sender: TObject);
procedure miTMNoneClick(Sender: TObject);
+ procedure miToolsClick(Sender: TObject);
procedure miToolsTrackerClick(Sender: TObject);
procedure miToolsWebDebuggerClick(Sender: TObject);
procedure miVCRClick(Sender: TObject);
procedure miVD1Click(Sender: TObject);
procedure miVDClick(Sender: TObject);
+ procedure miVideoScreenshotClick(Sender: TObject);
procedure miVM1Click(Sender: TObject);
procedure miVMClick(Sender: TObject);
procedure miWarp25Click(Sender: TObject);
procedure MouseTimerTimer(Sender: TObject);
procedure sidecarPanelResize(Sender: TObject);
procedure tbCapsModeClick(Sender: TObject);
+ procedure tbFullscreenClick(Sender: TObject);
procedure tbJoystickAxisSwitchClick(Sender: TObject);
procedure tbRMClick(Sender: TObject);
procedure tbRMColorClick(Sender: TObject);
@@ -467,6 +485,7 @@ type
procedure UpdateWarpSlider;
procedure UpdateAllCaps;
procedure UpdateScanlines;
+ procedure UpdateRecordState;
function IsMouseBtnDown(const AMouseBtn: TMouseBtnType): Boolean;
function IsMouseBtnDown: Boolean;
private
@@ -564,7 +583,7 @@ begin
RepaintWindow;
if GetTitleOfActiveWindow <> 'microM8' then
HideM8;
- StatusBar1.SimpleText := GetTitleOfActiveWindow;
+ //StatusBar1.SimpleText := GetTitleOfActiveWindow;
//Memo1.Lines.Add('app is deactivating');
end;
@@ -609,7 +628,7 @@ begin
if (y >= 0) and (y < sideCarPanel.Height) then
begin
bi := y div Round(sideCarPanel.Height / 5);
- StatusBar1.SimpleText := IntToStr(bi);
+ //StatusBar1.SimpleText := IntToStr(bi);
Image1.PopupMenu := nil;
case bi of
0: begin
@@ -670,7 +689,16 @@ begin
end;
4: begin
- SimpleGet(baseUrl + '/api/control/system/reboot');
+
+ if Button = mbRight then
+ begin
+ ProfileMenu.PopUp(Mouse.CursorPos.X, Mouse.CursorPos.Y);
+ end
+ else
+ begin
+ SimpleGet(baseUrl + '/api/control/system/reboot');
+ end;
+
end;
end;
@@ -800,7 +828,7 @@ var
begin
// DHGR Enhanced menu
value := GetConfig('video/init.video.dhgrhighbit');
- StatusBar1.SimpleText := value;
+ //.SimpleText := value;
if value <> '' then
begin
case value of
@@ -906,7 +934,7 @@ var
begin
// GR Render Mode menu
value := GetConfig('video/init.video.grmode');
- StatusBar1.SimpleText := value;
+ // StatusBar1.SimpleText := value;
if value <> '' then
begin
case value of
@@ -978,7 +1006,7 @@ begin
MM_MOUSE_OFF = 4
}
value := GetConfig('input/init.mouse');
- StatusBar1.SimpleText := value;
+ //StatusBar1.SimpleText := value;
if value <> '' then
begin
case value of
@@ -1045,6 +1073,11 @@ begin
UpdateConfig( 'input/init.joystick.reversey', '1', true );
end;
+procedure TGUIForm.miMMHelpClick(Sender: TObject);
+begin
+ SimpleGet(baseUrl + '/api/control/system/help');
+end;
+
procedure TGUIForm.miMonoDotsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.hgrmode', '3', true );
@@ -1119,7 +1152,7 @@ end;
procedure TGUIForm.miPRFIIplusClick(Sender: TObject);
begin
- SimpleGet( baseUrl+'/api/control/system/profile/set/apple2plus' );
+ SimpleGet( baseUrl+'/api/control/system/profile/set/apple2-plus' );
end;
procedure TGUIForm.miPrinterPDFClick(Sender: TObject);
@@ -1246,7 +1279,7 @@ var
begin
// SHR Render Mode menu
value := GetConfig('video/init.video.scanline');
- StatusBar1.SimpleText := value;
+ //StatusBar1.SimpleText := value;
if value <> '' then
begin
case value of
@@ -1296,7 +1329,7 @@ var
begin
// SHR Render Mode menu
value := GetConfig('video/init.video.shrmode');
- StatusBar1.SimpleText := value;
+ //StatusBar1.SimpleText := value;
if value <> '' then
begin
case value of
@@ -1468,6 +1501,11 @@ begin
UpdateTintMode;
end;
+procedure TGUIForm.miToolsClick(Sender: TObject);
+begin
+
+end;
+
procedure TGUIForm.miToolsTrackerClick(Sender: TObject);
begin
LaunchCommand( 'fp', '/local', '@music.edit{}' );
@@ -1510,6 +1548,17 @@ begin
end;
end;
+procedure TGUIForm.miVideoScreenshotClick(Sender: TObject);
+var
+ s: string;
+begin
+ s := SimpleGet(baseUrl+'/api/control/window/screenshot');
+ if s <> '' then
+ StatusBar1.SimpleText := 'Screenshot saved: ' + s;
+
+ SendKey( $e092, $e092, 1, 0 );
+end;
+
procedure TGUIForm.miVM1Click(Sender: TObject);
begin
SimpleGet(baseUrl+'/api/control/vm/'+TMenuItem(sender).Caption);
@@ -1571,6 +1620,12 @@ begin
UpdateAllCaps;
end;
+procedure TGUIForm.tbFullscreenClick(Sender: TObject);
+begin
+ UpdateConfig('video/current.fullscreen', '1', false);
+ isFS := true;
+end;
+
procedure TGUIForm.UpdateAllCaps;
begin
case GetConfig( 'input/init.uppercase' ) of
@@ -1731,6 +1786,24 @@ begin
SimpleGet(baseUrl+'/api/control/pause');
end;
+procedure TGUIForm.UpdateRecordState;
+begin
+ case SimpleGet(baseUrl+'/api/control/recorder' ) of
+ '0': begin
+ tbRECState.ImageIndex := 9;
+ tbRECState.Caption := 'Start Recording';
+ end;
+ '1': begin
+ tbRECState.ImageIndex := 11;
+ tbRECState.Caption := 'Live Rewind Active';
+ end;
+ '2': begin
+ tbRECState.ImageIndex := 10;
+ tbRECState.Caption := 'Disk Recording Active';
+ end;
+ end;
+end;
+
procedure TGUIForm.ToolTimerTimer(Sender: TObject);
begin
UpdateRenderMode;
@@ -1741,6 +1814,7 @@ begin
UpdateWarpSlider;
UpdateAllCaps;
UpdateScanlines;
+ UpdateRecordState;
end;
procedure TGUIForm.tbMasterVolumeChange(Sender: TObject);
@@ -1839,7 +1913,7 @@ begin
if S.Size > 0 then
begin
filename := GetUserDir + PathSeparator + 'microm8scrn.png';
- StatusBar1.SimpleText:='Got '+IntToStr(S.Size)+' bytes of PNG data';
+ //StatusBar1.SimpleText:='Got '+IntToStr(S.Size)+' bytes of PNG data';
S.SaveToFile(filename);
backdrop.Picture.LoadFromFile(filename);
S.Free;
@@ -1880,7 +1954,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/window/position',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=S;
+ //self.StatusBar1.SimpleText:=S;
Respo.Destroy;
end;
@@ -1894,7 +1968,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/system/launch',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=S;
+ //self.StatusBar1.SimpleText:=S;
Respo.Destroy;
end;
@@ -1910,7 +1984,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/system/launch',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=S;
+ //self.StatusBar1.SimpleText:=S;
Respo.Destroy;
end;
@@ -1924,7 +1998,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/system/launch',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=S;
+ //self.StatusBar1.SimpleText:=S;
Respo.Destroy;
end;
@@ -1939,7 +2013,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/input/mouseevent',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=S;
+ //self.StatusBar1.SimpleText:=S;
Respo.Destroy;
end;
@@ -1994,7 +2068,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/input/keyevent',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=S;
+ //self.StatusBar1.SimpleText:=S;
Respo.Destroy;
end;
@@ -2013,7 +2087,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/hardware/disk/insert',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=json;
+ //self.StatusBar1.SimpleText:=json;
Respo.Destroy;
end;
@@ -2033,7 +2107,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/settings/update',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=json;
+ //self.StatusBar1.SimpleText:=json;
Respo.Destroy;
end;
@@ -2048,7 +2122,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/settings/get',json,Respo);
Result := Respo.DataString;
- self.StatusBar1.SimpleText:=json;
+ //self.StatusBar1.SimpleText:=json;
Respo.Destroy;
end;
@@ -2069,7 +2143,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/system/freeze/save',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=json;
+ //self.StatusBar1.SimpleText:=json;
Respo.Destroy;
end;
@@ -2087,7 +2161,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/system/freeze/restore',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=json;
+ //self.StatusBar1.SimpleText:=json;
Respo.Destroy;
end;
@@ -2095,14 +2169,14 @@ procedure TGUIForm.tbDisk1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
DiskMenu.Tag := TToolButton(Sender).Tag;
- StatusBar1.SimpleText := 'Disk 1';
+ //StatusBar1.SimpleText := 'Disk 1';
end;
procedure TGUIForm.tbDisk2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
DiskMenu.Tag := TToolButton(Sender).Tag;
- StatusBar1.SimpleText := 'Disk 2';
+ //StatusBar1.SimpleText := 'Disk 2';
end;
procedure TGUIForm.ToolButton5Click(Sender: TObject);
@@ -2185,8 +2259,10 @@ begin
if GetTitleOfActiveWindow = 'microM8' then
begin
+ {$IFNDEF WINDOWS}
if IsMouseBtnDown then
exit;
+ {$ENDIF}
//Application.Restore;
Application.BringToFront;
@@ -2209,10 +2285,22 @@ begin
inPopup := true;
end;
+{$IFDEF WINDOWS}
+const
+ EXENAME: string = 'microm8.exe';
+{$ELSE}
+const
+ EXENAME: string = 'microm8';
+{$ENDIF}
+
+
procedure TGUIForm.FormCreate(Sender: TObject);
begin
self.httpc := TFPHttpClient.Create(Nil);
+ //ShowMessage( ExtractFilePath(Application.ExeName) + EXENAME );
+ MicroM8Process.Executable := ExtractFilePath(Application.ExeName) + EXENAME;
+
//if SimpleGet( baseUrl+'/api/control/health' ) <> 'ok' then
//begin
MicroM8Process.Active := true;
@@ -2324,7 +2412,9 @@ begin
end;
VK_A..VK_Z:
begin
- if ssShift in Shift then
+ if (ssCtrl in Shift) and (ssShift in Shift) then
+ Result := Integer(Key)
+ else if ssShift in Shift then
Result := Integer(Key)
else if ssCtrl in Shift then
begin
@@ -2369,7 +2459,7 @@ end;
procedure TGUIForm.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
SendKey( MapKeyCode(Key, Shift), 0, 0, MapShiftState(Key, Shift) );
- StatusBar1.SimpleText := 'keycode ' + IntToStr(Key);
+ //StatusBar1.SimpleText := 'keycode ' + IntToStr(Key);
end;
procedure TGUIForm.FormResize(Sender: TObject);
@@ -2439,7 +2529,7 @@ var
begin
// HGR Render Mode menu
value := GetConfig('video/init.video.hgrmode');
- StatusBar1.SimpleText := value;
+ //StatusBar1.SimpleText := value;
if value <> '' then
begin
case value of
@@ -2459,7 +2549,7 @@ var
begin
// DHGR Render Mode menu
value := GetConfig('video/init.video.dhgrmode');
- StatusBar1.SimpleText := value;
+ //StatusBar1.SimpleText := value;
if value <> '' then
begin
case value of
diff --git a/backup/poc.lps b/backup/poc.lps
index 1d34234..d1b4f77 100644
--- a/backup/poc.lps
+++ b/backup/poc.lps
@@ -4,7 +4,7 @@
-
+
@@ -21,8 +21,8 @@
-
-
+
+
@@ -43,129 +43,137 @@
-
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/lib/x86_64-win64/main.lfm b/lib/x86_64-win64/main.lfm
index 0d0ba82..f0dddc3 100644
--- a/lib/x86_64-win64/main.lfm
+++ b/lib/x86_64-win64/main.lfm
@@ -1,13 +1,13 @@
object GUIForm: TGUIForm
- Left = 2072
- Height = 574
- Top = 321
- Width = 945
+ Left = 2260
+ Height = 668
+ Top = 311
+ Width = 1014
AlphaBlendValue = 128
Caption = 'microM8 GUI'
- ClientHeight = 554
- ClientWidth = 945
- Constraints.MinWidth = 945
+ ClientHeight = 648
+ ClientWidth = 1014
+ Constraints.MinWidth = 1014
DoubleBuffered = False
Menu = MainMenu1
OnChangeBounds = FormChangeBounds
@@ -28,15 +28,15 @@ object GUIForm: TGUIForm
object StatusBar1: TStatusBar
Left = 0
Height = 23
- Top = 531
- Width = 945
+ Top = 625
+ Width = 1014
Panels = <>
end
object ToolBar1: TToolBar
Left = 0
Height = 36
Top = 0
- Width = 945
+ Width = 1014
ButtonHeight = 32
ButtonWidth = 32
Caption = 'ToolBar1'
@@ -44,89 +44,123 @@ object GUIForm: TGUIForm
TabOrder = 1
object tbTintMode: TToolButton
Left = 1
+ Hint = 'Tint mode'
Top = 2
Caption = 'tbTintMode'
ImageIndex = 0
OnClick = tbTintModeClick
+ ParentShowHint = False
+ ShowHint = True
end
object tbRMVoxels: TToolButton
Tag = 1
Left = 549
+ Hint = 'Voxel Render'
Top = 2
Caption = 'Voxels'
Down = True
Grouped = True
ImageIndex = 4
OnClick = tbRMClick
+ ParentShowHint = False
+ PopupMenu = RecordingMenu
+ ShowHint = True
Style = tbsCheck
end
object tbRMDots: TToolButton
Left = 585
+ Hint = 'Dot Render'
Top = 2
Caption = 'Dots'
Grouped = True
ImageIndex = 5
OnClick = tbRMClick
+ ParentShowHint = False
+ ShowHint = True
Style = tbsCheck
end
object tbRMRaster: TToolButton
Tag = 2
Left = 621
+ Hint = 'Raster Render'
Top = 2
Caption = 'Raster'
Grouped = True
ImageIndex = 6
OnClick = tbRMClick
+ ParentShowHint = False
+ ShowHint = True
Style = tbsCheck
end
object tbRMColor: TToolButton
Left = 657
+ Hint = 'Toggle Color/Mono'
Top = 2
Caption = 'tbRMColor'
ImageIndex = 7
OnClick = tbRMColorClick
+ ParentShowHint = False
+ ShowHint = True
end
- object ToolButton4: TToolButton
+ object tbRECState: TToolButton
Left = 725
+ Hint = 'Start Recording'
Top = 2
- Caption = 'ToolButton4'
+ Caption = 'tbRECState'
+ DropdownMenu = RecordingMenu
ImageIndex = 9
- OnClick = miRECStartFileClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton5: TToolButton
Left = 761
+ Hint = 'Rewind'
Top = 2
Caption = 'ToolButton5'
ImageIndex = 12
OnClick = miRECRewindClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton6: TToolButton
Left = 797
+ Hint = 'Forwards'
Top = 2
Caption = 'ToolButton6'
ImageIndex = 13
OnClick = miRECPlayClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton7: TToolButton
Left = 833
+ Hint = 'Resume'
Top = 2
Caption = 'ToolButton7'
ImageIndex = 14
OnClick = miRECResumeClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton8: TToolButton
Left = 869
+ Hint = 'Stop Recording'
Top = 2
Caption = 'ToolButton8'
ImageIndex = 15
OnClick = miRECStopClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton9: TToolButton
Left = 905
+ Hint = 'Pause'
Top = 2
Caption = 'ToolButton9'
ImageIndex = 16
OnClick = ToolButton9Click
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton10: TToolButton
Left = 693
@@ -136,31 +170,43 @@ object GUIForm: TGUIForm
end
object tbJoystickAxisSwitch: TToolButton
Left = 37
+ Hint = 'Swap Joystick Axis'
Top = 2
Caption = 'tbJoystickAxisSwitch'
ImageIndex = 21
OnClick = tbJoystickAxisSwitchClick
+ ParentShowHint = False
+ ShowHint = True
end
object tbCapsMode: TToolButton
Left = 73
+ Hint = 'Toggle CAPS mode'
Top = 2
Caption = 'tbCapsMode'
ImageIndex = 17
OnClick = tbCapsModeClick
+ ParentShowHint = False
+ ShowHint = True
end
object tbScanlines: TToolButton
Left = 109
+ Hint = 'Toggle Interlacing'
Top = 2
Caption = 'tbScanlines'
ImageIndex = 19
OnClick = tbScanlinesClick
+ ParentShowHint = False
+ ShowHint = True
end
object tbWebDebugger: TToolButton
Left = 145
+ Hint = 'Web Debugger'
Top = 2
Caption = 'tbWebDebugger'
ImageIndex = 28
OnClick = miToolsWebDebuggerClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton15: TToolButton
Left = 181
@@ -170,10 +216,13 @@ object GUIForm: TGUIForm
end
object tbVolDown: TToolButton
Left = 213
+ Hint = 'Volume Down'
Top = 2
Caption = 'tbVolDown'
ImageIndex = 23
OnClick = tbVolDownClick
+ ParentShowHint = False
+ ShowHint = True
end
object tbMasterVolume: TTrackBar
Left = 249
@@ -182,17 +231,23 @@ object GUIForm: TGUIForm
Width = 64
OnChange = tbMasterVolumeChange
Position = 0
- TickStyle = tsNone
+ ScalePos = trBottom
+ TabStop = False
+ TickMarks = tmBoth
+ TickStyle = tsManual
OnKeyDown = FormKeyDown
OnKeyUp = FormKeyUp
TabOrder = 0
end
object tbVolUp: TToolButton
Left = 313
+ Hint = 'Volume Up'
Top = 2
Caption = 'tbVolUp'
ImageIndex = 24
OnClick = tbVolUpClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton3: TToolButton
Left = 349
@@ -202,10 +257,13 @@ object GUIForm: TGUIForm
end
object tbSpeedDown: TToolButton
Left = 381
+ Hint = 'CPU Speed Down'
Top = 2
Caption = 'tbSpeedDown'
ImageIndex = 25
OnClick = tbSpeedDownClick
+ ParentShowHint = False
+ ShowHint = True
end
object TrackBar2: TTrackBar
Left = 417
@@ -215,16 +273,23 @@ object GUIForm: TGUIForm
Max = 4
OnChange = TrackBar2Change
Position = 0
+ ScalePos = trBottom
+ TabStop = False
+ TickMarks = tmBoth
+ TickStyle = tsManual
OnKeyDown = FormKeyDown
OnKeyUp = FormKeyUp
TabOrder = 1
end
object tbSpeedUp: TToolButton
Left = 481
+ Hint = 'CPU Speed Up'
Top = 2
Caption = 'tbSpeedUp'
ImageIndex = 26
OnClick = tbSpeedUpClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton18: TToolButton
Left = 517
@@ -232,35 +297,51 @@ object GUIForm: TGUIForm
Caption = 'ToolButton18'
Enabled = False
end
+ object ToolButton1: TToolButton
+ Left = 941
+ Top = 2
+ Caption = 'ToolButton1'
+ Enabled = False
+ end
+ object tbFullscreen: TToolButton
+ Left = 973
+ Hint = 'Fullscreen'
+ Top = 2
+ Caption = 'tbFullscreen'
+ ImageIndex = 29
+ OnClick = tbFullscreenClick
+ ParentShowHint = False
+ ShowHint = True
+ end
end
object pnlContainer: TPanel
Left = 0
- Height = 495
+ Height = 589
Top = 36
- Width = 945
+ Width = 1014
Align = alClient
BevelOuter = bvNone
- ClientHeight = 495
- ClientWidth = 945
+ ClientHeight = 589
+ ClientWidth = 1014
Color = clAqua
ParentColor = False
TabOrder = 2
object sidecarPanel: TPanel
- Left = 775
- Height = 495
+ Left = 844
+ Height = 589
Top = 0
Width = 170
Align = alRight
BevelOuter = bvNone
Caption = 'sidecarPanel'
- ClientHeight = 495
+ ClientHeight = 589
ClientWidth = 170
Color = clBlack
ParentColor = False
TabOrder = 0
object Image1: TImage
Left = 0
- Height = 495
+ Height = 589
Top = 0
Width = 170
Align = alClient
@@ -5353,13 +5434,13 @@ object GUIForm: TGUIForm
end
object embedPanel: TPanel
Left = 0
- Height = 495
+ Height = 589
Top = 0
- Width = 775
+ Width = 844
Align = alClient
BevelOuter = bvNone
- ClientHeight = 495
- ClientWidth = 775
+ ClientHeight = 589
+ ClientWidth = 844
Color = clBlack
Font.Color = clWhite
ParentColor = False
@@ -5367,9 +5448,9 @@ object GUIForm: TGUIForm
TabOrder = 1
object backdrop: TImage
Left = 0
- Height = 495
+ Height = 589
Top = 0
- Width = 775
+ Width = 844
Align = alClient
OnClick = backdropClick
Stretch = True
@@ -5422,6 +5503,58 @@ object GUIForm: TGUIForm
OnClick = miIntLOGOClick
end
end
+ object miVM: TMenuItem
+ Caption = 'VM'
+ OnClick = miVMClick
+ object miVM1: TMenuItem
+ Caption = '1'
+ RadioItem = True
+ ShortCut = 24625
+ OnClick = miVM1Click
+ end
+ object miVM2: TMenuItem
+ Caption = '2'
+ RadioItem = True
+ ShortCut = 24626
+ OnClick = miVM1Click
+ end
+ object miVM3: TMenuItem
+ Caption = '3'
+ RadioItem = True
+ ShortCut = 24627
+ OnClick = miVM1Click
+ end
+ object miVM4: TMenuItem
+ Caption = '4'
+ RadioItem = True
+ ShortCut = 24628
+ OnClick = miVM1Click
+ end
+ object miVM5: TMenuItem
+ Caption = '5'
+ RadioItem = True
+ ShortCut = 24629
+ OnClick = miVM1Click
+ end
+ object miVM6: TMenuItem
+ Caption = '6'
+ RadioItem = True
+ ShortCut = 24630
+ OnClick = miVM1Click
+ end
+ object miVM7: TMenuItem
+ Caption = '7'
+ RadioItem = True
+ ShortCut = 24631
+ OnClick = miVM1Click
+ end
+ object miVM8: TMenuItem
+ Caption = '8'
+ RadioItem = True
+ ShortCut = 24632
+ OnClick = miVM1Click
+ end
+ end
object N7: TMenuItem
Caption = '-'
end
@@ -5799,6 +5932,14 @@ object GUIForm: TGUIForm
ShortCut = 32781
OnClick = MenuItem14Click
end
+ object N10: TMenuItem
+ Caption = '-'
+ end
+ object miVideoScreenshot: TMenuItem
+ Caption = 'Take Screenshot'
+ ShortCut = 24796
+ OnClick = miVideoScreenshotClick
+ end
end
object Input: TMenuItem
Caption = 'Input'
@@ -6226,10 +6367,12 @@ object GUIForm: TGUIForm
end
object miRECRewind: TMenuItem
Caption = 'Rewind'
+ ShortCut = 24795
OnClick = miRECRewindClick
end
object miRECPlay: TMenuItem
Caption = 'Play'
+ ShortCut = 24797
OnClick = miRECPlayClick
end
object miRECResume: TMenuItem
@@ -6265,15 +6408,25 @@ object GUIForm: TGUIForm
end
object miTools: TMenuItem
Caption = 'Tools'
+ OnClick = miToolsClick
object miToolsTracker: TMenuItem
Caption = 'microTracker'
OnClick = miToolsTrackerClick
end
object miToolsWebDebugger: TMenuItem
Caption = 'Web Debugger'
+ ShortCut = 24642
OnClick = miToolsWebDebuggerClick
end
end
+ object miHelp: TMenuItem
+ Caption = 'Help'
+ object miMMHelp: TMenuItem
+ Caption = 'microM8 Help'
+ ShortCut = 24648
+ OnClick = miMMHelpClick
+ end
+ end
end
object ToolbarIcons: TImageList
Height = 32
@@ -6282,7 +6435,7 @@ object GUIForm: TGUIForm
left = 96
top = 48
Bitmap = {
- 4C691D0000002000000020000000CA9BCA00B16DB100B16DB100B16DB100B16D
+ 4C691E0000002000000020000000CA9BCA00B16DB100B16DB100B16DB100B16D
B100B16DB100B16DB100B16DB100B16DB100B16DB100B16DB100AD72BB0E8C68
D54C6E5CEA805A52F69F5353FFB15353FFB15A52F69F6E5CEA808C68D54CAD72
BB0EB16DB100B16DB100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
@@ -9994,7 +10147,135 @@ object GUIForm: TGUIForm
ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6ED002D99B33C28C6
ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6
ED002B9EBB3528C6ED00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0070107137660068DD660068F76600
+ 68F7660068F7660068F7660068F7660068F7660068F7660068F7660068D06600
+ 68226600680066006800660068006600680066006800660068006600681A6600
+ 68C9660068F7660068F7660068F7660068F7660068F7660068F7660068F76600
+ 68F7660068E266006842FFFFFF00FFFFFF00701071CD660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 6891660068006600680066006800660068006600680066006800660068816600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068DDFFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 6871660068006600680066006800660068006600680066006800660068616600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068BD6600688E6600688E6600688E660068686600
+ 6802660068006600680066006800660068006600680066006800660068016600
+ 68616600688E6600688E6600688E660068B6660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068EF660068346600680066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 680066006800660068006600682A660068E8660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068EE6600683466006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 6800660068006600682A660068E8660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68C6660068E8660068FF660068FF660068FF660068EE66006834660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 68006600682A660068E8660068FF660068FF660068FF660068EE660068BF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68A26600682A660068E8660068FF660068FF660068FF660068EE660068346600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 682A660068E8660068FF660068FF660068FF660068EE66006834660068926600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68A1660068006600682A660068E8660068FF660068FF660068FF660068EE6600
+ 68346600680066006800660068006600680066006800660068006600682A6600
+ 68E8660068FF660068FF660068FF660068EE6600683466006800660068916600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68A266006800660068006600682A660068E8660068FF660068FF660068FF6600
+ 68EE66006825660068006600680066006800660068006600681C660068E86600
+ 68FF660068FF660068FF660068EE660068346600680066006800660068926600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071BE660068FF660068FF6600
+ 687D6600680066006800660068006600682A660068E8660068FF660068FF6600
+ 68FF660068776600680066006800660068006600680066006867660068FF6600
+ 68FF660068FF660068EE660068346600680066006800660068006600686D6600
+ 68FF660068FF660068CEFFFFFF00FFFFFF007010711C660068906600687C6600
+ 6807660068006600680066006800660068006600682A660068E8660068FF6600
+ 68F9660068346600680066006800660068006600680066006828660068F56600
+ 68FF660068EE660068348C408E008C408E008C408E008C408E008C408E038C40
+ 8E768C408E948C408E23FFFFFF00FFFFFF007010710066006800660068006600
+ 68006600680066006800660068006600680066006800660068206600687B6600
+ 683A660068006600680066006800660068006600680066006800660068326600
+ 687C6600682666006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007010710066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 68006600680066006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007010710066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 68006600680066006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007010710066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 68006600680066006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007010710066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 68006600680066006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007010710066006800660068006600
+ 6800660068006600680066006800660068006600680066006803660068336600
+ 680E6600680066006800660068006600680066006800660068006600680C6600
+ 68346600680566006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00701071036600684C660068386600
+ 6800660068006600680066006800660068006600680C660068C0660068FF6600
+ 68ED6600682F6600680066006800660068006600680066006825660068E76600
+ 68FF660068CA66006811BC90BD00BC90BD00BC90BD00BC90BD00BC90BD00BC90
+ BD32BC90BD4FBC90BD06FFFFFF00FFFFFF007010719A660068FF660068FF6600
+ 68596600680066006800660068006600680C660068C2660068FF660068FF6600
+ 68FF6600688D660068006600680066006800660068006600687D660068FF6600
+ 68FF660068FF660068CC660068116600680066006800660068006600684A6600
+ 68FE660068FF660068AAFFFFFF00FFFFFF00701071E2660068FF660068FF6600
+ 689F66006800660068006600680C660068C2660068FF660068FF660068FF6600
+ 68FE6600684B660068006600680066006800660068006600683D660068FC6600
+ 68FF660068FF660068FF660068CC6600681166006800660068006600688F6600
+ 68FF660068FF660068F2FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68A1660068006600680C660068C2660068FF660068FF660068FF660068FE7B24
+ 7D67D9C0DA00D9C0DA00D9C0DA00D9C0DA00D9C0DA00D9C0DA00833084596600
+ 68FC660068FF660068FF660068FF660068CC6600681166006800660068916600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68A16600680C660068C2660068FF660068FF660068FF660068FE660068678330
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E006600
+ 6859660068FC660068FF660068FF660068FF660068CC66006811660068916600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68AD660068C2660068FF660068FF660068FF660068FE66006867660068008330
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E006600
+ 680066006859660068FC660068FF660068FF660068FF660068CC660068A36600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068FE6600686766006800660068008330
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E006600
+ 68006600680066006859660068FC660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068FE660068676600680066006800660068008330
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E006600
+ 6800660068006600680066006859660068FC660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068BD660068606600686066006860660068428330
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E006600
+ 683D660068606600686066006860660068B3660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF8330
+ 846DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E5E6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071DE660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF8330
+ 84ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E9C6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068EEFFFFFF00FFFFFF0070107157660068F5660068FF6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068F78330
+ 8448FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E3C6600
+ 68F3660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 68FF660068F866006865FFFFFF00FFFFFF00E5D3E500E3D0E30FE3D0E325E3D0
+ E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0E30FE8D9
+ E800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EADCEA00E3D0
+ E30DE3D0E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0
+ E325E3D0E312E3D0E300FFFFFF00
}
end
object DiskMenu: TPopupMenu
@@ -10078,7 +10359,7 @@ object GUIForm: TGUIForm
end
object MicroM8Process: TAsyncProcess
Active = False
- Executable = 'C:/Users/aag65/Projects/octalyzer/GoPath/src/paleotronic.com/octalyzer/microM8.exe'
+ Executable = '/home/april/Projects/octalyzer/GoPath/src/paleotronic.com/octalyzer/microM8'
Parameters.Strings = (
'-control-port'
'-disable-border'
@@ -10115,4 +10396,42 @@ object GUIForm: TGUIForm
left = 24
top = 216
end
+ object RecordingMenu: TPopupMenu
+ Images = ToolbarIcons
+ ImagesWidth = 32
+ left = 96
+ top = 216
+ object miStartDiskRec: TMenuItem
+ Caption = 'Start Disk Recording'
+ ImageIndex = 10
+ SubMenuImages = ToolbarIcons
+ OnClick = miRECStartFileClick
+ end
+ object miStartLiveRewindRecord: TMenuItem
+ Caption = 'Enable Live Rewind'
+ ImageIndex = 11
+ SubMenuImages = ToolbarIcons
+ OnClick = miRECLiveRewindClick
+ end
+ end
+ object ProfileMenu: TPopupMenu
+ left = 168
+ top = 216
+ object miPMApple2eEnh: TMenuItem
+ Caption = 'Apple //e Enhanced'
+ OnClick = miPRFIIeEnhancedClick
+ end
+ object miPMApple2eEnhCPM: TMenuItem
+ Caption = 'Apple //e Enhanced (Softcard)'
+ OnClick = miPRFIIeEnhancedSoftcardClick
+ end
+ object miPMApple2e: TMenuItem
+ Caption = 'Apple //e'
+ OnClick = miPRFIIeClick
+ end
+ object miPMApple2plus: TMenuItem
+ Caption = 'Apple ][+'
+ OnClick = miPRFIIplusClick
+ end
+ end
end
diff --git a/lib/x86_64-win64/main.o b/lib/x86_64-win64/main.o
index 1f34f9a..a8701e6 100644
Binary files a/lib/x86_64-win64/main.o and b/lib/x86_64-win64/main.o differ
diff --git a/lib/x86_64-win64/main.ppu b/lib/x86_64-win64/main.ppu
index 2bab31c..1a47b37 100644
Binary files a/lib/x86_64-win64/main.ppu and b/lib/x86_64-win64/main.ppu differ
diff --git a/lib/x86_64-win64/poc.compiled b/lib/x86_64-win64/poc.compiled
index 0bddb09..91c4dcc 100644
--- a/lib/x86_64-win64/poc.compiled
+++ b/lib/x86_64-win64/poc.compiled
@@ -1,5 +1,5 @@
-
+
diff --git a/lib/x86_64-win64/poc.o b/lib/x86_64-win64/poc.o
index 7317f31..44c961f 100644
Binary files a/lib/x86_64-win64/poc.o and b/lib/x86_64-win64/poc.o differ
diff --git a/lib/x86_64-win64/poc.obj b/lib/x86_64-win64/poc.obj
index 2f47a98..a26df9d 100644
Binary files a/lib/x86_64-win64/poc.obj and b/lib/x86_64-win64/poc.obj differ
diff --git a/main.lfm b/main.lfm
index cdd6f1e..f0dddc3 100644
--- a/main.lfm
+++ b/main.lfm
@@ -1,13 +1,13 @@
object GUIForm: TGUIForm
- Left = 2270
- Height = 574
- Top = 247
- Width = 945
+ Left = 2260
+ Height = 668
+ Top = 311
+ Width = 1014
AlphaBlendValue = 128
Caption = 'microM8 GUI'
- ClientHeight = 549
- ClientWidth = 945
- Constraints.MinWidth = 945
+ ClientHeight = 648
+ ClientWidth = 1014
+ Constraints.MinWidth = 1014
DoubleBuffered = False
Menu = MainMenu1
OnChangeBounds = FormChangeBounds
@@ -27,16 +27,16 @@ object GUIForm: TGUIForm
LCLVersion = '2.0.0.4'
object StatusBar1: TStatusBar
Left = 0
- Height = 19
- Top = 530
- Width = 945
+ Height = 23
+ Top = 625
+ Width = 1014
Panels = <>
end
object ToolBar1: TToolBar
Left = 0
Height = 36
Top = 0
- Width = 945
+ Width = 1014
ButtonHeight = 32
ButtonWidth = 32
Caption = 'ToolBar1'
@@ -44,89 +44,123 @@ object GUIForm: TGUIForm
TabOrder = 1
object tbTintMode: TToolButton
Left = 1
+ Hint = 'Tint mode'
Top = 2
Caption = 'tbTintMode'
ImageIndex = 0
OnClick = tbTintModeClick
+ ParentShowHint = False
+ ShowHint = True
end
object tbRMVoxels: TToolButton
Tag = 1
Left = 549
+ Hint = 'Voxel Render'
Top = 2
Caption = 'Voxels'
Down = True
Grouped = True
ImageIndex = 4
OnClick = tbRMClick
+ ParentShowHint = False
+ PopupMenu = RecordingMenu
+ ShowHint = True
Style = tbsCheck
end
object tbRMDots: TToolButton
Left = 585
+ Hint = 'Dot Render'
Top = 2
Caption = 'Dots'
Grouped = True
ImageIndex = 5
OnClick = tbRMClick
+ ParentShowHint = False
+ ShowHint = True
Style = tbsCheck
end
object tbRMRaster: TToolButton
Tag = 2
Left = 621
+ Hint = 'Raster Render'
Top = 2
Caption = 'Raster'
Grouped = True
ImageIndex = 6
OnClick = tbRMClick
+ ParentShowHint = False
+ ShowHint = True
Style = tbsCheck
end
object tbRMColor: TToolButton
Left = 657
+ Hint = 'Toggle Color/Mono'
Top = 2
Caption = 'tbRMColor'
ImageIndex = 7
OnClick = tbRMColorClick
+ ParentShowHint = False
+ ShowHint = True
end
- object ToolButton4: TToolButton
+ object tbRECState: TToolButton
Left = 725
+ Hint = 'Start Recording'
Top = 2
- Caption = 'ToolButton4'
+ Caption = 'tbRECState'
+ DropdownMenu = RecordingMenu
ImageIndex = 9
- OnClick = miRECStartFileClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton5: TToolButton
Left = 761
+ Hint = 'Rewind'
Top = 2
Caption = 'ToolButton5'
ImageIndex = 12
OnClick = miRECRewindClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton6: TToolButton
Left = 797
+ Hint = 'Forwards'
Top = 2
Caption = 'ToolButton6'
ImageIndex = 13
OnClick = miRECPlayClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton7: TToolButton
Left = 833
+ Hint = 'Resume'
Top = 2
Caption = 'ToolButton7'
ImageIndex = 14
OnClick = miRECResumeClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton8: TToolButton
Left = 869
+ Hint = 'Stop Recording'
Top = 2
Caption = 'ToolButton8'
ImageIndex = 15
OnClick = miRECStopClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton9: TToolButton
Left = 905
+ Hint = 'Pause'
Top = 2
Caption = 'ToolButton9'
ImageIndex = 16
OnClick = ToolButton9Click
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton10: TToolButton
Left = 693
@@ -136,31 +170,43 @@ object GUIForm: TGUIForm
end
object tbJoystickAxisSwitch: TToolButton
Left = 37
+ Hint = 'Swap Joystick Axis'
Top = 2
Caption = 'tbJoystickAxisSwitch'
ImageIndex = 21
OnClick = tbJoystickAxisSwitchClick
+ ParentShowHint = False
+ ShowHint = True
end
object tbCapsMode: TToolButton
Left = 73
+ Hint = 'Toggle CAPS mode'
Top = 2
Caption = 'tbCapsMode'
ImageIndex = 17
OnClick = tbCapsModeClick
+ ParentShowHint = False
+ ShowHint = True
end
object tbScanlines: TToolButton
Left = 109
+ Hint = 'Toggle Interlacing'
Top = 2
Caption = 'tbScanlines'
ImageIndex = 19
OnClick = tbScanlinesClick
+ ParentShowHint = False
+ ShowHint = True
end
object tbWebDebugger: TToolButton
Left = 145
+ Hint = 'Web Debugger'
Top = 2
Caption = 'tbWebDebugger'
ImageIndex = 28
OnClick = miToolsWebDebuggerClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton15: TToolButton
Left = 181
@@ -170,19 +216,23 @@ object GUIForm: TGUIForm
end
object tbVolDown: TToolButton
Left = 213
+ Hint = 'Volume Down'
Top = 2
Caption = 'tbVolDown'
ImageIndex = 23
OnClick = tbVolDownClick
+ ParentShowHint = False
+ ShowHint = True
end
object tbMasterVolume: TTrackBar
Left = 249
- Height = 38
+ Height = 32
Top = 2
Width = 64
OnChange = tbMasterVolumeChange
Position = 0
ScalePos = trBottom
+ TabStop = False
TickMarks = tmBoth
TickStyle = tsManual
OnKeyDown = FormKeyDown
@@ -191,10 +241,13 @@ object GUIForm: TGUIForm
end
object tbVolUp: TToolButton
Left = 313
+ Hint = 'Volume Up'
Top = 2
Caption = 'tbVolUp'
ImageIndex = 24
OnClick = tbVolUpClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton3: TToolButton
Left = 349
@@ -204,20 +257,24 @@ object GUIForm: TGUIForm
end
object tbSpeedDown: TToolButton
Left = 381
+ Hint = 'CPU Speed Down'
Top = 2
Caption = 'tbSpeedDown'
ImageIndex = 25
OnClick = tbSpeedDownClick
+ ParentShowHint = False
+ ShowHint = True
end
object TrackBar2: TTrackBar
Left = 417
- Height = 38
+ Height = 32
Top = 2
Width = 64
Max = 4
OnChange = TrackBar2Change
Position = 0
ScalePos = trBottom
+ TabStop = False
TickMarks = tmBoth
TickStyle = tsManual
OnKeyDown = FormKeyDown
@@ -226,10 +283,13 @@ object GUIForm: TGUIForm
end
object tbSpeedUp: TToolButton
Left = 481
+ Hint = 'CPU Speed Up'
Top = 2
Caption = 'tbSpeedUp'
ImageIndex = 26
OnClick = tbSpeedUpClick
+ ParentShowHint = False
+ ShowHint = True
end
object ToolButton18: TToolButton
Left = 517
@@ -237,35 +297,51 @@ object GUIForm: TGUIForm
Caption = 'ToolButton18'
Enabled = False
end
+ object ToolButton1: TToolButton
+ Left = 941
+ Top = 2
+ Caption = 'ToolButton1'
+ Enabled = False
+ end
+ object tbFullscreen: TToolButton
+ Left = 973
+ Hint = 'Fullscreen'
+ Top = 2
+ Caption = 'tbFullscreen'
+ ImageIndex = 29
+ OnClick = tbFullscreenClick
+ ParentShowHint = False
+ ShowHint = True
+ end
end
object pnlContainer: TPanel
Left = 0
- Height = 494
+ Height = 589
Top = 36
- Width = 945
+ Width = 1014
Align = alClient
BevelOuter = bvNone
- ClientHeight = 494
- ClientWidth = 945
+ ClientHeight = 589
+ ClientWidth = 1014
Color = clAqua
ParentColor = False
TabOrder = 2
object sidecarPanel: TPanel
- Left = 775
- Height = 494
+ Left = 844
+ Height = 589
Top = 0
Width = 170
Align = alRight
BevelOuter = bvNone
Caption = 'sidecarPanel'
- ClientHeight = 494
+ ClientHeight = 589
ClientWidth = 170
Color = clBlack
ParentColor = False
TabOrder = 0
object Image1: TImage
Left = 0
- Height = 494
+ Height = 589
Top = 0
Width = 170
Align = alClient
@@ -5358,13 +5434,13 @@ object GUIForm: TGUIForm
end
object embedPanel: TPanel
Left = 0
- Height = 494
+ Height = 589
Top = 0
- Width = 775
+ Width = 844
Align = alClient
BevelOuter = bvNone
- ClientHeight = 494
- ClientWidth = 775
+ ClientHeight = 589
+ ClientWidth = 844
Color = clBlack
Font.Color = clWhite
ParentColor = False
@@ -5372,9 +5448,9 @@ object GUIForm: TGUIForm
TabOrder = 1
object backdrop: TImage
Left = 0
- Height = 494
+ Height = 589
Top = 0
- Width = 775
+ Width = 844
Align = alClient
OnClick = backdropClick
Stretch = True
@@ -5856,6 +5932,14 @@ object GUIForm: TGUIForm
ShortCut = 32781
OnClick = MenuItem14Click
end
+ object N10: TMenuItem
+ Caption = '-'
+ end
+ object miVideoScreenshot: TMenuItem
+ Caption = 'Take Screenshot'
+ ShortCut = 24796
+ OnClick = miVideoScreenshotClick
+ end
end
object Input: TMenuItem
Caption = 'Input'
@@ -6283,10 +6367,12 @@ object GUIForm: TGUIForm
end
object miRECRewind: TMenuItem
Caption = 'Rewind'
+ ShortCut = 24795
OnClick = miRECRewindClick
end
object miRECPlay: TMenuItem
Caption = 'Play'
+ ShortCut = 24797
OnClick = miRECPlayClick
end
object miRECResume: TMenuItem
@@ -6322,15 +6408,25 @@ object GUIForm: TGUIForm
end
object miTools: TMenuItem
Caption = 'Tools'
+ OnClick = miToolsClick
object miToolsTracker: TMenuItem
Caption = 'microTracker'
OnClick = miToolsTrackerClick
end
object miToolsWebDebugger: TMenuItem
Caption = 'Web Debugger'
+ ShortCut = 24642
OnClick = miToolsWebDebuggerClick
end
end
+ object miHelp: TMenuItem
+ Caption = 'Help'
+ object miMMHelp: TMenuItem
+ Caption = 'microM8 Help'
+ ShortCut = 24648
+ OnClick = miMMHelpClick
+ end
+ end
end
object ToolbarIcons: TImageList
Height = 32
@@ -6339,7 +6435,7 @@ object GUIForm: TGUIForm
left = 96
top = 48
Bitmap = {
- 4C691D0000002000000020000000CA9BCA00B16DB100B16DB100B16DB100B16D
+ 4C691E0000002000000020000000CA9BCA00B16DB100B16DB100B16DB100B16D
B100B16DB100B16DB100B16DB100B16DB100B16DB100B16DB100AD72BB0E8C68
D54C6E5CEA805A52F69F5353FFB15353FFB15A52F69F6E5CEA808C68D54CAD72
BB0EB16DB100B16DB100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
@@ -10051,7 +10147,135 @@ object GUIForm: TGUIForm
ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6ED002D99B33C28C6
ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6ED0028C6
ED002B9EBB3528C6ED00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0070107137660068DD660068F76600
+ 68F7660068F7660068F7660068F7660068F7660068F7660068F7660068D06600
+ 68226600680066006800660068006600680066006800660068006600681A6600
+ 68C9660068F7660068F7660068F7660068F7660068F7660068F7660068F76600
+ 68F7660068E266006842FFFFFF00FFFFFF00701071CD660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 6891660068006600680066006800660068006600680066006800660068816600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068DDFFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 6871660068006600680066006800660068006600680066006800660068616600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068BD6600688E6600688E6600688E660068686600
+ 6802660068006600680066006800660068006600680066006800660068016600
+ 68616600688E6600688E6600688E660068B6660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068EF660068346600680066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 680066006800660068006600682A660068E8660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068EE6600683466006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 6800660068006600682A660068E8660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68C6660068E8660068FF660068FF660068FF660068EE66006834660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 68006600682A660068E8660068FF660068FF660068FF660068EE660068BF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68A26600682A660068E8660068FF660068FF660068FF660068EE660068346600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 682A660068E8660068FF660068FF660068FF660068EE66006834660068926600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68A1660068006600682A660068E8660068FF660068FF660068FF660068EE6600
+ 68346600680066006800660068006600680066006800660068006600682A6600
+ 68E8660068FF660068FF660068FF660068EE6600683466006800660068916600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68A266006800660068006600682A660068E8660068FF660068FF660068FF6600
+ 68EE66006825660068006600680066006800660068006600681C660068E86600
+ 68FF660068FF660068FF660068EE660068346600680066006800660068926600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071BE660068FF660068FF6600
+ 687D6600680066006800660068006600682A660068E8660068FF660068FF6600
+ 68FF660068776600680066006800660068006600680066006867660068FF6600
+ 68FF660068FF660068EE660068346600680066006800660068006600686D6600
+ 68FF660068FF660068CEFFFFFF00FFFFFF007010711C660068906600687C6600
+ 6807660068006600680066006800660068006600682A660068E8660068FF6600
+ 68F9660068346600680066006800660068006600680066006828660068F56600
+ 68FF660068EE660068348C408E008C408E008C408E008C408E008C408E038C40
+ 8E768C408E948C408E23FFFFFF00FFFFFF007010710066006800660068006600
+ 68006600680066006800660068006600680066006800660068206600687B6600
+ 683A660068006600680066006800660068006600680066006800660068326600
+ 687C6600682666006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007010710066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 68006600680066006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007010710066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 68006600680066006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007010710066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 68006600680066006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007010710066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 6800660068006600680066006800660068006600680066006800660068006600
+ 68006600680066006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007010710066006800660068006600
+ 6800660068006600680066006800660068006600680066006803660068336600
+ 680E6600680066006800660068006600680066006800660068006600680C6600
+ 68346600680566006800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00701071036600684C660068386600
+ 6800660068006600680066006800660068006600680C660068C0660068FF6600
+ 68ED6600682F6600680066006800660068006600680066006825660068E76600
+ 68FF660068CA66006811BC90BD00BC90BD00BC90BD00BC90BD00BC90BD00BC90
+ BD32BC90BD4FBC90BD06FFFFFF00FFFFFF007010719A660068FF660068FF6600
+ 68596600680066006800660068006600680C660068C2660068FF660068FF6600
+ 68FF6600688D660068006600680066006800660068006600687D660068FF6600
+ 68FF660068FF660068CC660068116600680066006800660068006600684A6600
+ 68FE660068FF660068AAFFFFFF00FFFFFF00701071E2660068FF660068FF6600
+ 689F66006800660068006600680C660068C2660068FF660068FF660068FF6600
+ 68FE6600684B660068006600680066006800660068006600683D660068FC6600
+ 68FF660068FF660068FF660068CC6600681166006800660068006600688F6600
+ 68FF660068FF660068F2FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68A1660068006600680C660068C2660068FF660068FF660068FF660068FE7B24
+ 7D67D9C0DA00D9C0DA00D9C0DA00D9C0DA00D9C0DA00D9C0DA00833084596600
+ 68FC660068FF660068FF660068FF660068CC6600681166006800660068916600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68A16600680C660068C2660068FF660068FF660068FF660068FE660068678330
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E006600
+ 6859660068FC660068FF660068FF660068FF660068CC66006811660068916600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68AD660068C2660068FF660068FF660068FF660068FE66006867660068008330
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E006600
+ 680066006859660068FC660068FF660068FF660068FF660068CC660068A36600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068FE6600686766006800660068008330
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E006600
+ 68006600680066006859660068FC660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068FE660068676600680066006800660068008330
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E006600
+ 6800660068006600680066006859660068FC660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068BD660068606600686066006860660068428330
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E006600
+ 683D660068606600686066006860660068B3660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071E4660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF8330
+ 846DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E5E6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068F4FFFFFF00FFFFFF00701071DE660068FF660068FF6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF8330
+ 84ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E9C6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 68FF660068FF660068EEFFFFFF00FFFFFF0070107157660068F5660068FF6600
+ 68FF660068FF660068FF660068FF660068FF660068FF660068FF660068F78330
+ 8448FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C408E3C6600
+ 68F3660068FF660068FF660068FF660068FF660068FF660068FF660068FF6600
+ 68FF660068F866006865FFFFFF00FFFFFF00E5D3E500E3D0E30FE3D0E325E3D0
+ E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0E30FE8D9
+ E800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EADCEA00E3D0
+ E30DE3D0E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0E325E3D0
+ E325E3D0E312E3D0E300FFFFFF00
}
end
object DiskMenu: TPopupMenu
@@ -10172,4 +10396,42 @@ object GUIForm: TGUIForm
left = 24
top = 216
end
+ object RecordingMenu: TPopupMenu
+ Images = ToolbarIcons
+ ImagesWidth = 32
+ left = 96
+ top = 216
+ object miStartDiskRec: TMenuItem
+ Caption = 'Start Disk Recording'
+ ImageIndex = 10
+ SubMenuImages = ToolbarIcons
+ OnClick = miRECStartFileClick
+ end
+ object miStartLiveRewindRecord: TMenuItem
+ Caption = 'Enable Live Rewind'
+ ImageIndex = 11
+ SubMenuImages = ToolbarIcons
+ OnClick = miRECLiveRewindClick
+ end
+ end
+ object ProfileMenu: TPopupMenu
+ left = 168
+ top = 216
+ object miPMApple2eEnh: TMenuItem
+ Caption = 'Apple //e Enhanced'
+ OnClick = miPRFIIeEnhancedClick
+ end
+ object miPMApple2eEnhCPM: TMenuItem
+ Caption = 'Apple //e Enhanced (Softcard)'
+ OnClick = miPRFIIeEnhancedSoftcardClick
+ end
+ object miPMApple2e: TMenuItem
+ Caption = 'Apple //e'
+ OnClick = miPRFIIeClick
+ end
+ object miPMApple2plus: TMenuItem
+ Caption = 'Apple ][+'
+ OnClick = miPRFIIplusClick
+ end
+ end
end
diff --git a/main.pas b/main.pas
index d2e420f..4975bca 100644
--- a/main.pas
+++ b/main.pas
@@ -24,6 +24,16 @@ type
MenuItem14: TMenuItem;
MenuItem17: TMenuItem;
MenuItem18: TMenuItem;
+ miVideoScreenshot: TMenuItem;
+ N10: TMenuItem;
+ miPMApple2plus: TMenuItem;
+ miPMApple2e: TMenuItem;
+ miPMApple2eEnhCPM: TMenuItem;
+ miPMApple2eEnh: TMenuItem;
+ miStartLiveRewindRecord: TMenuItem;
+ miStartDiskRec: TMenuItem;
+ miMMHelp: TMenuItem;
+ miHelp: TMenuItem;
miVM8: TMenuItem;
miVM7: TMenuItem;
miVM6: TMenuItem;
@@ -66,6 +76,8 @@ type
Image1: TImage;
odFreezeFiles: TOpenDialog;
pnlContainer: TPanel;
+ ProfileMenu: TPopupMenu;
+ RecordingMenu: TPopupMenu;
sdFreezeFiles: TSaveDialog;
SideImages: TImageList;
miWarp400: TMenuItem;
@@ -174,6 +186,7 @@ type
sidecarPanel: TPanel;
FSTimer: TTimer;
tbVolDown: TToolButton;
+ ToolButton1: TToolButton;
ToolButton10: TToolButton;
tbJoystickAxisSwitch: TToolButton;
tbCapsMode: TToolButton;
@@ -184,8 +197,9 @@ type
tbSpeedUp: TToolButton;
ToolButton18: TToolButton;
tbVolUp: TToolButton;
+ tbFullscreen: TToolButton;
ToolButton3: TToolButton;
- ToolButton4: TToolButton;
+ tbRECState: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
@@ -368,6 +382,7 @@ type
procedure miJSAxisSwapClick(Sender: TObject);
procedure miJSXRevClick(Sender: TObject);
procedure miJSYRevClick(Sender: TObject);
+ procedure miMMHelpClick(Sender: TObject);
procedure miMonoDotsClick(Sender: TObject);
procedure miMonoRasterClick(Sender: TObject);
procedure miMonoVoxelsClick(Sender: TObject);
@@ -409,17 +424,20 @@ type
procedure miSVOL000Click(Sender: TObject);
procedure miTintModeClick(Sender: TObject);
procedure miTMNoneClick(Sender: TObject);
+ procedure miToolsClick(Sender: TObject);
procedure miToolsTrackerClick(Sender: TObject);
procedure miToolsWebDebuggerClick(Sender: TObject);
procedure miVCRClick(Sender: TObject);
procedure miVD1Click(Sender: TObject);
procedure miVDClick(Sender: TObject);
+ procedure miVideoScreenshotClick(Sender: TObject);
procedure miVM1Click(Sender: TObject);
procedure miVMClick(Sender: TObject);
procedure miWarp25Click(Sender: TObject);
procedure MouseTimerTimer(Sender: TObject);
procedure sidecarPanelResize(Sender: TObject);
procedure tbCapsModeClick(Sender: TObject);
+ procedure tbFullscreenClick(Sender: TObject);
procedure tbJoystickAxisSwitchClick(Sender: TObject);
procedure tbRMClick(Sender: TObject);
procedure tbRMColorClick(Sender: TObject);
@@ -467,6 +485,7 @@ type
procedure UpdateWarpSlider;
procedure UpdateAllCaps;
procedure UpdateScanlines;
+ procedure UpdateRecordState;
function IsMouseBtnDown(const AMouseBtn: TMouseBtnType): Boolean;
function IsMouseBtnDown: Boolean;
private
@@ -564,7 +583,7 @@ begin
RepaintWindow;
if GetTitleOfActiveWindow <> 'microM8' then
HideM8;
- StatusBar1.SimpleText := GetTitleOfActiveWindow;
+ //StatusBar1.SimpleText := GetTitleOfActiveWindow;
//Memo1.Lines.Add('app is deactivating');
end;
@@ -609,7 +628,7 @@ begin
if (y >= 0) and (y < sideCarPanel.Height) then
begin
bi := y div Round(sideCarPanel.Height / 5);
- StatusBar1.SimpleText := IntToStr(bi);
+ //StatusBar1.SimpleText := IntToStr(bi);
Image1.PopupMenu := nil;
case bi of
0: begin
@@ -670,7 +689,16 @@ begin
end;
4: begin
- SimpleGet(baseUrl + '/api/control/system/reboot');
+
+ if Button = mbRight then
+ begin
+ ProfileMenu.PopUp(Mouse.CursorPos.X, Mouse.CursorPos.Y);
+ end
+ else
+ begin
+ SimpleGet(baseUrl + '/api/control/system/reboot');
+ end;
+
end;
end;
@@ -800,7 +828,7 @@ var
begin
// DHGR Enhanced menu
value := GetConfig('video/init.video.dhgrhighbit');
- StatusBar1.SimpleText := value;
+ //.SimpleText := value;
if value <> '' then
begin
case value of
@@ -906,7 +934,7 @@ var
begin
// GR Render Mode menu
value := GetConfig('video/init.video.grmode');
- StatusBar1.SimpleText := value;
+ // StatusBar1.SimpleText := value;
if value <> '' then
begin
case value of
@@ -978,7 +1006,7 @@ begin
MM_MOUSE_OFF = 4
}
value := GetConfig('input/init.mouse');
- StatusBar1.SimpleText := value;
+ //StatusBar1.SimpleText := value;
if value <> '' then
begin
case value of
@@ -1045,6 +1073,11 @@ begin
UpdateConfig( 'input/init.joystick.reversey', '1', true );
end;
+procedure TGUIForm.miMMHelpClick(Sender: TObject);
+begin
+ SimpleGet(baseUrl + '/api/control/system/help');
+end;
+
procedure TGUIForm.miMonoDotsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.hgrmode', '3', true );
@@ -1119,7 +1152,7 @@ end;
procedure TGUIForm.miPRFIIplusClick(Sender: TObject);
begin
- SimpleGet( baseUrl+'/api/control/system/profile/set/apple2plus' );
+ SimpleGet( baseUrl+'/api/control/system/profile/set/apple2-plus' );
end;
procedure TGUIForm.miPrinterPDFClick(Sender: TObject);
@@ -1246,7 +1279,7 @@ var
begin
// SHR Render Mode menu
value := GetConfig('video/init.video.scanline');
- StatusBar1.SimpleText := value;
+ //StatusBar1.SimpleText := value;
if value <> '' then
begin
case value of
@@ -1296,7 +1329,7 @@ var
begin
// SHR Render Mode menu
value := GetConfig('video/init.video.shrmode');
- StatusBar1.SimpleText := value;
+ //StatusBar1.SimpleText := value;
if value <> '' then
begin
case value of
@@ -1468,6 +1501,11 @@ begin
UpdateTintMode;
end;
+procedure TGUIForm.miToolsClick(Sender: TObject);
+begin
+
+end;
+
procedure TGUIForm.miToolsTrackerClick(Sender: TObject);
begin
LaunchCommand( 'fp', '/local', '@music.edit{}' );
@@ -1510,6 +1548,11 @@ begin
end;
end;
+procedure TGUIForm.miVideoScreenshotClick(Sender: TObject);
+begin
+ SendKey( $e092, $e092, 1, 0 );
+end;
+
procedure TGUIForm.miVM1Click(Sender: TObject);
begin
SimpleGet(baseUrl+'/api/control/vm/'+TMenuItem(sender).Caption);
@@ -1571,6 +1614,12 @@ begin
UpdateAllCaps;
end;
+procedure TGUIForm.tbFullscreenClick(Sender: TObject);
+begin
+ UpdateConfig('video/current.fullscreen', '1', false);
+ isFS := true;
+end;
+
procedure TGUIForm.UpdateAllCaps;
begin
case GetConfig( 'input/init.uppercase' ) of
@@ -1731,6 +1780,24 @@ begin
SimpleGet(baseUrl+'/api/control/pause');
end;
+procedure TGUIForm.UpdateRecordState;
+begin
+ case SimpleGet(baseUrl+'/api/control/recorder' ) of
+ '0': begin
+ tbRECState.ImageIndex := 9;
+ tbRECState.Caption := 'Start Recording';
+ end;
+ '1': begin
+ tbRECState.ImageIndex := 11;
+ tbRECState.Caption := 'Live Rewind Active';
+ end;
+ '2': begin
+ tbRECState.ImageIndex := 10;
+ tbRECState.Caption := 'Disk Recording Active';
+ end;
+ end;
+end;
+
procedure TGUIForm.ToolTimerTimer(Sender: TObject);
begin
UpdateRenderMode;
@@ -1741,6 +1808,7 @@ begin
UpdateWarpSlider;
UpdateAllCaps;
UpdateScanlines;
+ UpdateRecordState;
end;
procedure TGUIForm.tbMasterVolumeChange(Sender: TObject);
@@ -1839,7 +1907,7 @@ begin
if S.Size > 0 then
begin
filename := GetUserDir + PathSeparator + 'microm8scrn.png';
- StatusBar1.SimpleText:='Got '+IntToStr(S.Size)+' bytes of PNG data';
+ //StatusBar1.SimpleText:='Got '+IntToStr(S.Size)+' bytes of PNG data';
S.SaveToFile(filename);
backdrop.Picture.LoadFromFile(filename);
S.Free;
@@ -1880,7 +1948,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/window/position',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=S;
+ //self.StatusBar1.SimpleText:=S;
Respo.Destroy;
end;
@@ -1894,7 +1962,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/system/launch',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=S;
+ //self.StatusBar1.SimpleText:=S;
Respo.Destroy;
end;
@@ -1910,7 +1978,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/system/launch',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=S;
+ //self.StatusBar1.SimpleText:=S;
Respo.Destroy;
end;
@@ -1924,7 +1992,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/system/launch',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=S;
+ //self.StatusBar1.SimpleText:=S;
Respo.Destroy;
end;
@@ -1939,7 +2007,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/input/mouseevent',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=S;
+ //self.StatusBar1.SimpleText:=S;
Respo.Destroy;
end;
@@ -1994,7 +2062,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/input/keyevent',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=S;
+ //self.StatusBar1.SimpleText:=S;
Respo.Destroy;
end;
@@ -2013,7 +2081,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/hardware/disk/insert',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=json;
+ //self.StatusBar1.SimpleText:=json;
Respo.Destroy;
end;
@@ -2033,7 +2101,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/settings/update',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=json;
+ //self.StatusBar1.SimpleText:=json;
Respo.Destroy;
end;
@@ -2048,7 +2116,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/settings/get',json,Respo);
Result := Respo.DataString;
- self.StatusBar1.SimpleText:=json;
+ //self.StatusBar1.SimpleText:=json;
Respo.Destroy;
end;
@@ -2069,7 +2137,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/system/freeze/save',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=json;
+ //self.StatusBar1.SimpleText:=json;
Respo.Destroy;
end;
@@ -2087,7 +2155,7 @@ begin
Respo := TStringStream.Create('');
SimpleFormPost(baseUrl + '/api/control/system/freeze/restore',json,Respo);
S := Respo.DataString;
- self.StatusBar1.SimpleText:=json;
+ //self.StatusBar1.SimpleText:=json;
Respo.Destroy;
end;
@@ -2095,14 +2163,14 @@ procedure TGUIForm.tbDisk1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
DiskMenu.Tag := TToolButton(Sender).Tag;
- StatusBar1.SimpleText := 'Disk 1';
+ //StatusBar1.SimpleText := 'Disk 1';
end;
procedure TGUIForm.tbDisk2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
DiskMenu.Tag := TToolButton(Sender).Tag;
- StatusBar1.SimpleText := 'Disk 2';
+ //StatusBar1.SimpleText := 'Disk 2';
end;
procedure TGUIForm.ToolButton5Click(Sender: TObject);
@@ -2185,8 +2253,10 @@ begin
if GetTitleOfActiveWindow = 'microM8' then
begin
+ {$IFNDEF WINDOWS}
if IsMouseBtnDown then
exit;
+ {$ENDIF}
//Application.Restore;
Application.BringToFront;
@@ -2209,10 +2279,22 @@ begin
inPopup := true;
end;
+{$IFDEF WINDOWS}
+const
+ EXENAME: string = 'microm8.exe';
+{$ELSE}
+const
+ EXENAME: string = 'microm8';
+{$ENDIF}
+
+
procedure TGUIForm.FormCreate(Sender: TObject);
begin
self.httpc := TFPHttpClient.Create(Nil);
+ //ShowMessage( ExtractFilePath(Application.ExeName) + EXENAME );
+ MicroM8Process.Executable := ExtractFilePath(Application.ExeName) + EXENAME;
+
//if SimpleGet( baseUrl+'/api/control/health' ) <> 'ok' then
//begin
MicroM8Process.Active := true;
@@ -2324,7 +2406,9 @@ begin
end;
VK_A..VK_Z:
begin
- if ssShift in Shift then
+ if (ssCtrl in Shift) and (ssShift in Shift) then
+ Result := Integer(Key)
+ else if ssShift in Shift then
Result := Integer(Key)
else if ssCtrl in Shift then
begin
@@ -2369,7 +2453,7 @@ end;
procedure TGUIForm.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
SendKey( MapKeyCode(Key, Shift), 0, 0, MapShiftState(Key, Shift) );
- StatusBar1.SimpleText := 'keycode ' + IntToStr(Key);
+ //StatusBar1.SimpleText := 'keycode ' + IntToStr(Key);
end;
procedure TGUIForm.FormResize(Sender: TObject);
@@ -2439,7 +2523,7 @@ var
begin
// HGR Render Mode menu
value := GetConfig('video/init.video.hgrmode');
- StatusBar1.SimpleText := value;
+ //StatusBar1.SimpleText := value;
if value <> '' then
begin
case value of
@@ -2459,7 +2543,7 @@ var
begin
// DHGR Render Mode menu
value := GetConfig('video/init.video.dhgrmode');
- StatusBar1.SimpleText := value;
+ //StatusBar1.SimpleText := value;
if value <> '' then
begin
case value of
diff --git a/poc.lps b/poc.lps
index a647d7d..784474c 100644
--- a/poc.lps
+++ b/poc.lps
@@ -4,7 +4,7 @@
-
+
@@ -21,8 +21,8 @@
-
-
+
+
@@ -43,129 +43,137 @@
-
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+