' Gambas class file Private processo As Process Private pFSUAE As Process Private server As Process onoff As Integer Public inShader As String Public Sub _new() End Public Sub Form_Open() Me.Center setting.rSetting Try popola_config Try popola_shader If Exist(User.Home &/ ".gfsuae/") Then Else Try Shell ("mkdir " & User.Home & "/.gfsuae") Endif End Public Sub Button2_Click() Dim tconf As String scrivi.sConfig Dialog.Title = "Choose a Name for FS-UAE Configuration file" Dialog.Filter = ["*.config", ".config file"] Dialog.Path = textbox1.text If Dialog.SaveFile() Then Return File.Save(Dialog.Path & ".config", scrivi.valori) popola_config Catch Message.Info(Error.Text) End Public Sub Button4_Click() Dialog.title = "Choose a default Configurations directory" If Dialog.SelectDirectory() Then Return textbox1.text = Dialog.Path popola_config End Public Sub Button5_Click() Dialog.title = "Choose a default Controllers directory" If Dialog.SelectDirectory() Then Return textbox2.text = Dialog.Path End Public Sub Button6_Click() Dialog.title = "Choose a default Flash Memory directory" If Dialog.SelectDirectory() Then Return textbox3.text = Dialog.Path End Public Sub Button7_Click() Dialog.title = "Choose a default Floppy Overlays directory" If Dialog.SelectDirectory() Then Return textbox4.text = Dialog.Path End Public Sub Button8_Click() Dialog.title = "Choose a default Kickstarts directory" If Dialog.SelectDirectory() Then Return textbox5.text = Dialog.Path End Public Sub Button10_Click() Dialog.title = "Choose a default Save States directory" If Dialog.SelectDirectory() Then Return textbox7.text = Dialog.Path End Public Sub Button11_Click() Dialog.title = "Choose a Amiga 500/600 kickstart" Dialog.Filter = ["*.rom;*.zip", "kickstart files"] Dialog.Path = textbox5.text If Dialog.OpenFile() Then Return textbox8.text = Dialog.Path End Public Sub Button12_Click() Dialog.title = "Choose a Amiga 1200 or up kickstart" Dialog.Filter = ["*.rom;*.zip", "kickstart files"] Dialog.Path = textbox5.text If Dialog.OpenFile() Then Return textbox9.text = Dialog.Path End Public Sub Button13_Click() Dialog.title = "Choose a CD32 rom" Dialog.Filter = ["*.rom;*.zip", "CD32 rom"] Dialog.Path = textbox5.text If Dialog.OpenFile() Then Return textbox10.text = Dialog.Path End Public Sub Button23_Click() Dialog.title = "Choose a adf/adz/dms/ipf/zip Amiga disk image" Dialog.Filter = ["*.adf;*.adz;*.ipf;*.zip", "Amiga disk image"] Dialog.Path = textbox21.text If Dialog.OpenFile() Then Return textbox20.text = Dialog.Path End Public Sub Button19_Click() Dialog.title = "Choose a adf/adz/dms/ipf/zip Amiga disk image" Dialog.Filter = ["*.adf;*.adz;*.dms;*.ipf;*.zip", "Amiga disk image"] Dialog.Path = textbox21.text If Dialog.OpenFile() Then Return textbox16.text = Dialog.Path End Public Sub Button20_Click() Dialog.title = "Choose a adf/adz/dms/ipf/zip Amiga disk image" Dialog.Filter = ["*.adf;*.adz;*.dms;*.ipf;*.zip", "Amiga disk image"] Dialog.Path = textbox21.text If Dialog.OpenFile() Then Return textbox17.text = Dialog.Path End Public Sub Button21_Click() Dialog.title = "Choose a adf/adz/dms/ipf/zip Amiga disk image" Dialog.Filter = ["*.adf;*.adz;*.dms;*.ipf;*.zip", "Amiga disk image"] Dialog.Path = textbox21.text If Dialog.OpenFile() Then Return textbox18.text = Dialog.Path End Public Sub Button18_Click() Dialog.title = "Choose a adf/adz/dms/ipf/zip Amiga swap disk image" Dialog.Filter = ["*.adf;*.adz;*.dms;*.ipf;*.zip", "Amiga disk image"] Dialog.Path = textbox21.text If Dialog.OpenFile() Then Return textbox15.text = Dialog.Path End Public Sub Button14_Click() Dialog.title = "Choose a adf/adz/dms/ipf/zip Amiga swap disk image" Dialog.Filter = ["*.adf;*.adz;*.dms;*.ipf;*.zip", "Amiga disk image"] Dialog.Path = textbox21.text If Dialog.OpenFile() Then Return textbox11.text = Dialog.Path End Public Sub Button15_Click() Dialog.title = "Choose a adf/adz/dms/ipf/zip Amiga swap disk image" Dialog.Filter = ["*.adf;*.adz;*.dms;*.ipf;*.zip", "Amiga disk image"] Dialog.Path = textbox21.text If Dialog.OpenFile() Then Return textbox12.text = Dialog.Path End Public Sub Button16_Click() Dialog.title = "Choose a adf/adz/dms/ipf/zip Amiga swap disk image" Dialog.Filter = ["*.adf;*.adz;*.dms;*.ipf;*.zip", "Amiga disk image"] Dialog.Path = textbox21.text If Dialog.OpenFile() Then Return textbox13.text = Dialog.Path End Public Sub Button17_Click() Dialog.title = "Choose a adf/adz/dms/ipf/zip Amiga swap disk image" Dialog.Filter = ["*.adf;*.adz;*.dms;*.ipf;*.zip", "Amiga disk image"] Dialog.Path = textbox21.text If Dialog.OpenFile() Then Return textbox14.text = Dialog.Path End Public Sub Button24_Click() popola_config Dialog.title = "Choose FS-UAE configuration file to load" Dialog.Filter = ["*.config", ".config file", "*.fs-uae", ".fs-uae file"] Dialog.path = textbox1.text If Dialog.OpenFile() Then Return combobox5.text = Dialog.Path leggi.leggi_conf End Public Sub Button1_Click() onoff = 0 start_emu End Public Sub Button3_Click() Try embEmbedder.Discard Try processo.Kill Try server.kill End Public Sub Button9_Click() Dialog.title = "Choose a default Shaders directory" If Dialog.SelectDirectory() Then Return textbox33.text = Dialog.Path combobox10.clear popola_shader End Public Sub RadioButton4_Click() If RadioButton4.value = True Then ComboBox1.text = "A1200" End Public Sub RadioButton3_Click() If RadioButton3.value = True Then ComboBox1.text = "A500" End Public Sub Button22_Click() textbox20.Clear End Public Sub Button25_Click() textbox16.Clear End Public Sub Button26_Click() textbox17.Clear End Public Sub Button27_Click() textbox18.Clear End Public Sub Button28_Click() textbox15.Clear End Public Sub Button29_Click() textbox11.Clear End Public Sub Button30_Click() textbox12.Clear End Public Sub Button31_Click() textbox13.Clear End Public Sub Button32_Click() textbox14.Clear End Public Sub Button33_Click() Dialog.title = "Choose a hdf Amiga Hard Disk Image" Dialog.Filter = ["*.hdf;*.zip", "Amiga Hard Disk Image"] If Dialog.OpenFile() Then Return textbox6.text = Dialog.Path End Public Sub Button35_Click() Dialog.title = "Choose a hdf Amiga Hard Disk Image" Dialog.Filter = ["*.hdf;*.zip", "Amiga Hard Disk Image"] If Dialog.OpenFile() Then Return textbox19.text = Dialog.Path End Public Sub Button34_Click() textbox6.clear End Public Sub Button36_Click() textbox19.clear End Public Sub Button37_Click() Dialog.title = "Mount Folder as drives" If Dialog.SelectDirectory() Then Return textbox6.text = Dialog.Path End Public Sub Button38_Click() Dialog.title = "Mount Folder as drives" If Dialog.SelectDirectory() Then Return textbox19.text = Dialog.Path End Public Sub Button40_Click() Dialog.title = "Mount Folder as drives" If Dialog.SelectDirectory() Then Return textbox22.text = Dialog.Path End Public Sub Button39_Click() Dialog.title = "Choose a hdf Amiga Hard Disk Image" Dialog.Filter = ["*.hdf;*.zip", "Amiga Hard Disk Image"] If Dialog.OpenFile() Then Return textbox22.text = Dialog.Path End Public Sub Button41_Click() textbox22.clear End Public Sub Form_Close() Try embEmbedder.Discard setting.wSetting End Public Sub Slider4_Change() label6.text = "Floppy Drive Sound " & Slider4.value End Public Sub Slider3_Change() label21.text = "Dark " & slider3.value End Public Sub Slider2_Change() label22.text = "Light " & Slider2.value End Public Sub Slider1_Change() frame3.text = "Emulation Accurancy " & Slider1.value End Public Sub Button42_Click() Dialog.title = "Choose Amiga CD32/CDTV Image" Dialog.Filter = ["*.cue;*.iso", "CUE/ISO Image"] If Dialog.OpenFile() Then Return textbox23.text = Dialog.Path End Public Sub Button45_Click() Dialog.title = "Choose Amiga CD32/CDTV Image" Dialog.Filter = ["*.cue;*.iso", "CUE/ISO Image"] If Dialog.OpenFile() Then Return textbox24.text = Dialog.Path End Public Sub Button43_Click() 'If Exist(User.Home &/ ".gfsuae/fs-uae-netplay-server.py") Then 'Else Try Copy "fs-uae-netplay-server.py" To User.Home &/ ".gfsuae/fs-uae-netplay-server.py" 'Endif server = Exec ["python", User.Home &/ ".gfsuae/fs-uae-netplay-server.py", "--port=" & textbox25.text, "--player=" & combobox4.text] If server.state = 1 Then frame15.text = "Server ON" Button48.enabled = True End If End Public Sub start_emu() Dim fileConf, fuscreen, net, cuspar, videof, textf, fsmode, xwin, ywin, xfus, yfus, vsmode, other_emb, shaders, scX, scY, alX, alY, translations As String scrivi.sConfig Try embEmbedder.Discard Try processo.Kill Try server.kill Wait File.Save(User.Home &/ ".gfsuae/test.config", scrivi.valori) fileconf = User.Home &/ ".gfsuae/test.config" If CheckBox1.value = True Then fuscreen = " --fullscreen=1" Else Fuscreen = " --fullscreen=0" Endif videof = " --video-format=" & combobox6.text textf = " --texture-format=" & combobox7.text fsmode = " --fullscreen-mode=" & combobox8.text xwin = " --window-width=" & textbox29.Text ywin = " --window-height=" & textbox30.Text xfus = " --fullscreen-width=" & textbox31.Text yfus = " --fullscreen-height=" & textbox32.Text vsmode = " --video-sync-method=" & combobox9.text cuspar = " " & textbox28.text If onoff = 1 Then net = " --netplay-server=" & textbox27.text & " --netplay-tag=" & textbox26.text & " --netplay-port=" & textbox25.text Else If onoff = 0 Then net = "" Endif If CheckBox1.value = False And checkbox12.value = True Then xwin = " --window-width=500" ywin = " --window-height=450" other_emb = " --grab-input=0" Endif scX = " --scale-x=" & (spinbox1.value / 10) scY = " --scale-y=" & (spinbox2.value / 10) alX = " --align-x=" & (spinbox3.value / 10) alY = " --align-y=" & (spinbox4.value / 10) If checkbox13.value = True Then translations = " --localization=0" Else translations = " --localization=1" Endif If fileconf <> "" Then processo = Shell "fs-uae " &/ fileconf & videof & textf & fsmode & xwin & ywin & xfus & yfus & vsmode & other_emb & scX & scY & alX & alY & translations & " --bsdsocket-library=1" & cuspar & net & " --end-config" Else If fileconf = "" Then Message.Warning("You must make and select a file .config to load FS-UAE", "Ok") End If If CheckBox1.value = False And checkbox12.value = True Then Wait 1 inside End If End Public Sub Button46_Click() If textbox27.text <> "" Then onoff = 1 start_emu Else Message.Warning("You must set a ip adress or host name in Net Play tab", "Ok") TabStrip1.index = 5 textbox27.SetFocus End If End Public Sub Button48_Click() Try server.kill If server.state = 2 Then frame15.text = "Server OFF" Button48.enabled = False End If End Public Sub Slider5_Change() label23.text = "Floppy speed " & Slider5.value End Public Sub popola_config() Dim lFile As String Dim ifile As Integer combobox5.Clear For Each lFile In Dir(textbox1.text, "*.config") combobox5.add(textbox1.text & "/" & lfile, ifile) Next For Each lFile In Dir(textbox1.text, "*.fs-uae") combobox5.add(textbox1.text & "/" & lfile, ifile) Next End Public Sub popola_shader() Dim lFile As String Dim ifile As Integer combobox10.add("None") If textbox33.text <> "" Then inShader = textbox33.text Else inShader = "/usr/share/fs-uae/shaders/" Endif For Each lFile In Dir(inShader, "*.shader") combobox10.add(Replace(lfile, ".shader", ""), ifile + 1) Next End Public Sub Button49_Click() Dialog.title = "Choose a default Adf/Ipf directory" If Dialog.SelectDirectory() Then Return textbox21.text = Dialog.Path End Public Sub ComboBox5_Click() leggi.leggi_conf leggi.leggi_conf End Public Sub Button44_Click() textbox23.clear End Public Sub Button47_Click() textbox24.clear End Public Sub Slider6_Change() label30.text = "Picasso 96 RAM " & Slider6.value End Public Sub inside() Dim aHandle As Integer[] Dim iHandle As Integer Dim dWindow As DesktopWindow Dim a As Integer For Each dWindow In Desktop.Windows If dWindow.name Like "Amiga*" Then a = dWindow.Id Endif Next TabStrip1.index = 8 Try embEmbedder.Embed(a) If Error Then Message.Warning(Error.Text) End Public Sub embEmbedder_Error() Message.Error(("Embed error")) End Public Sub CheckBox1_Click() If CheckBox1.value = True Then checkbox12.Enabled = False Else checkbox12.Enabled = True End If End Public Sub ComboBox10_Change() If combobox10.text <> "None" Then CheckBox3.value = False End Public Sub Button50_Click() combobox10.clear popola_shader End Public Sub Button51_Click() Dim controlla As Boolean Try Copy "fs-uae-gamepad-config.py" To User.Home &/ ".gfsuae/fs-uae-gamepad-config.py" Exec ["python", User.Home &/ ".gfsuae/fs-uae-gamepad-config.py"] To controlla Wait If controlla = True And Exist(User.Home &/ "Documents/FS-UAE/Controllers") Then textbox2.text = User.Home &/ "Documents/FS-UAE/Controllers" Endif End