Virtual Box Style Gui

Discuss PearPC's Development and any bugs you find here

Virtual Box Style Gui

Postby Jamie0705 » Sat Aug 01, 2009 2:07 am

Hi, This is my first post here so go easy on me =D

Im not sure if there already is a user friendly/virtualbox-esq gui for pearpc but i decided to create one as a mini project to brush up on my VB skills.

so here it is

http://rapidshare.com/files/262351546/Pearpc_VBGUI_install.exe.html

Any Feedback would be much appreciated!

if you find any bugs please PM me and ill try and fix them asap.

Thanks for your time

Jamie
Jamie0705
New Member
New Member
 
Posts: 6
Joined: Sat Aug 01, 2009 2:03 am

Re: Virtual Box Style Gui

Postby ElGuillermo » Sat Aug 01, 2009 6:37 pm

Hi !

Sweet little tool :)

Maybe you should add some controls :
- the ability to choose boot parameters (at least "auto" or "select") ;
- the ability to choose hotkeys combos for mouse-grabbing and fullscreen on/off ;
- the ability to choose the video redraw interval (if you VB script can access *real* screen refresh rate, I'll give you some clues to find the best virtual interval as a default optimal value) ;
- your screen resolution (there's a typo on your interface :) ) select dialog is a bit too restrictive. You should add the ability to select any width, coupled with any height. Maybe some additional controls could restrain the geometry to "free, 4:3, 16:9 and 16:10", making the interface automatically recalculate the height to a given width ;
- maybe you add some "magic" to automatically recognize the type of a drive ("img = hd", "iso = cdrom", "x:\ = nativecdrom")... Could be an idea to add a manual dialog next to the drive's path ;
- concerning the network interface, it may be a good idea to let the user choose the MAC address (forget about 3c90x/rtl8139 choice, as I never encountered someone using the 3c90x) ;
- the ability to choose the CPU type (g3 or g4) ;
- the ability to choose the allocated RAM (128, 256, 512, 1024, 1536, 2048, 3072, 4096) ;

You also may collect ppc.exe's output and display it in an interface tab.

Considering there's some unofficial builds available (see Redscorps's in my sig), you may allow the user to choose any .exe instead of ppc.exe only.
You may also add some "special" parameters for Redscorp's build :
- 4 IDE controlers (8 disks) ;
- 2 types of networks (tap an pcap), "pcap" includes an "interface" parameter that could be guessed by reading Windows' registry.

That's it for now. Great to see someone's playing with PearPC :)

++EG
2011 : I'm no longer using PearPC... It was fun, though :) Thanks to all contributors !
By special request, the config-file generator is back online
ElGuillermo
PearPC Guru
PearPC Guru
 
Posts: 594
Joined: Sat Mar 17, 2007 4:29 pm

Re: Virtual Box Style Gui

Postby Jamie0705 » Mon Aug 03, 2009 12:39 am

Thanks for the feedback =D

I wasn't expecting much but you've been great, ill work on trying to add in those extras. Ive also noticed a few more typos and CD iso support didnt work because of a silly error.

Thanks again for the 'review'

Jamie
Jamie0705
New Member
New Member
 
Posts: 6
Joined: Sat Aug 01, 2009 2:03 am

Re: Virtual Box Style Gui

Postby Jamie0705 » Sat Aug 08, 2009 4:05 pm

I've made some changes making the program itself more 'indepth' including some of the changes you suggested.

here is v 1.1

http://rapidshare.com/files/265151610/Pearpc_VBGUI_install_1.1.exe.html
Jamie0705
New Member
New Member
 
Posts: 6
Joined: Sat Aug 01, 2009 2:03 am

Re: Virtual Box Style Gui

Postby ElGuillermo » Sat Aug 08, 2009 6:41 pm

Cool :)

Here's what I've found :

1. ocx dependencies
Clicking on the "Advanced" tab of the gui, I receive script errors (339), saying I need some .ocx files my (virtualized) Windows XP didn't have :
tabctl32.ocx
comctl32.ocx
... I added them manually in Windows/System32 and got no more errors.
Maybe there's a way to install these files with the PearPC VBGui (mind the distribution rights) ?
If you can't provide/install these files with your project, you may still provide some link to a site that offers them for download :
- http://www.ocxdump.com/download-ocx-fil ... nload.html
- http://www.ocxdump.com/download-ocx-fil ... nload.html


2. dangerous path
I installed your program with default path (C:\PearPC VBGUI)
As I know PearPC can be puzzled with "exotic" characters in pathes, I suggest you to avoid the space in your default path installation.
Consider using an underscore : "C:\PearPC_VBGUI".

Same thing with the virtual machine's name :
I created a machine named "PearPC test".
It runs OK if I launch it from PearPC VBGui's main window.
I was very excited to see your program can create a clean shortcut on my desktop.
...But disappointed as PearPC wasn't launching from it...
As I noticed, the shortcut's launching a batch file, calling
Code: Select all
ppc.exe PearPC test.cfg

Problem : ppc.exe doesn't "see" the config file because it contains a space character.
Solution : force ppc.exe to mind the space by adding quotation marks :
Code: Select all
ppc.exe "PearPC test.cfg"

... And all should be well :)


3. home sweet home
I noticed your program has created its binary configuration file (PearPC VBGUIVFG.ppc) and PearPC's log (output.log) in drive C's root folder.
I really don't like programs that create files in reserved places. You surely can have them created in program's folder :)


4. Size doesn't matter
You had a very good idea adding download buttons to get 3Gib and 6Gib blank HD imagefiles, but...
As you rely on an external server, and as it could be unreachable (downtime/file deleted/no internet access),
you may directly provide these files with your program. As they're compressed, it will only add ~6 kib to you package.
I don't know you coding/scripting skills, but consider, as an alternative, coding a little tool that is able to create any sized blank hd imagefile.


5. tabs
This one is only cosmetic :
I really appreciate your efforts to add controls for the extra parameters I suggested :)
Maybe you can do even better, reorganizing the parameters in specific tabs.
Here's some kind of "plan" you may follow to get a nearly-perfect interface :

[Main window]
PearPC_VBGui_main.png
PearPC VBGui interface idea : main window
PearPC_VBGui_main.png (11.99 KiB) Viewed 12588 times


[Config window that appears when clicking on the "config" button]
PearPC_VBGui_config.png
PearPC VBGui interface idea : config window
PearPC_VBGui_config.png (14.35 KiB) Viewed 12588 times


... The images speak for themselves (sorry I didn't take time to create them pretty) :)
To complete my plan, here's what should be found in specific tabs :

First tab : Boot
fieldtype: select prom_bootmethod = "auto" or "select" or "force"
(only active if prom_bootmethod = "force") fieldtype: file prom_loadfile = "path\somefile.bin"
(only active if prom_bootmethod = "force") fieldtype: text prom_env_bootpath = "diskx:x"
fieldtype: select prom_env_machargs = "-s" or "-c" or "-v"

tab 2 : Hotkeys
fieldtype: text key_compose_dialog = "F11"
fieldtype: text key_toggle_mouse_grab = "Right-Alt+Ctrl"
fieldtype: text key_toggle_full_screen = "F12"

tab 3 : Video
fieldtype: file prom_driver_graphic = "path/video.x"
fieldtype: checkbox ppc_start_full_screen = "0" or "1"
fieldtype: slider AND text redraw_interval_msec = "200" ## Must be >=10 AND <=500
the ppc_start_resolution parameter should be exploded :
"WidthxHeightxBitDepth@redraw_interval_msec"

fieldtype: text width = "x"
fieldtype: text height = "y"
fieldtype: radio BitDepth = "15" or "32"
fieldtype: slider AND text redraw_interval_msec = "z" ## Must be >=10 AND <=500, default = 60

tab 4 : Disks
fieldtype: checkbox pci_ide0_master_installed = "1" or "0"
(only active if pci_ide0_master_installed = "1") fieldtype: select pci_ide0_master_type = "hd" or "cdrom" or "nativecdrom"
(only active if pci_ide0_master_installed = "1") fieldtype: file pci_ide0_master_image = "path/somefile.xxx"
fieldtype: checkbox pci_ide0_slave_installed = "1" or "0"
(only active if pci_ide0_slave_installed = "1") fieldtype: select pci_ide0_slave_type = "hd" or "cdrom" or "nativecdrom"
(only active if pci_ide0_slave_installed = "1") fieldtype: file pci_ide0_slave_image = "path/somefile.xxx"

tab 5 : Network
fieldtype: checkbox pci_3c90x_installed = "0" or "1"
(only active if pci_3c90x_installed = "1") fieldtype: text pci_3c90x_mac = "de:ad:ca:fe:12:34"
fieldtype: checkbox pci_rtl8139_installed = "0" or "1"
(only active if pci_rtl8139_installed = "1") fieldtype: text pci_rtl8139_mac = "de:ad:ca:fe:12:35"

tab 6 : CPU
fieldtype: radio or select or even text (for advanced pvr testing) cpu_pvr = "0x00088302" (G3) or "0x000c0201" (G4)

tab 7 : Memory
fieldtype: file nvram_file = "path/nvramfile"
fieldtype: text page_table_pa = "104857600" or "0x00300000" or blank (default)
fieldtype: select and/or slider and text memory_size = "0x8000000"
Here are the usual values :
0x4000000 ## 64 MiB
0x8000000 ## 128 MiB
0x10000000 ## 256 MiB
0x18000000 ## 384 MiB
0x20000000 ## 512 MiB
0x40000000 ## 1024 MiB
0x60000000 ## 1536 MiB
0x80000000 ## 2048 MiB


tab 8 : USB
fieldtype: checkbox pci_usb_installed = "0" or "1"

...

Mmm... I may appear as a bugger, I know :)
2011 : I'm no longer using PearPC... It was fun, though :) Thanks to all contributors !
By special request, the config-file generator is back online
ElGuillermo
PearPC Guru
PearPC Guru
 
Posts: 594
Joined: Sat Mar 17, 2007 4:29 pm

Re: Virtual Box Style Gui

Postby Jamie0705 » Mon Aug 10, 2009 11:55 pm

Thanks again for such awesome feedback =D It's gr8 knowing someone else is using something i've made. I read what you had to say and implemented as much of it as i could from scratch so here is v 2.0 (which i think feels and works alot more like virtualbox)

http://rapidshare.com/files/265984409/Pearpc_VBGUI_install_2.0.exe.html

please tell me if you find any errors!!

a few of the points about the previous version im confused about though.

It should not be creating anything other than the log file in your C:\. (the log is now created in the program directory as you suggested). vbguicfg.ppc was probably created by version 1.0 not version 1.1. it can be deleted.

also creating empty .img files. I have looked around online for how to do this in VB6 or even a dos command so i could execute a batch file from within vb but havent found anything. so if you know of anyway of doing this in windows or can point me in the direction to find out that would be much appreciated.

the ocx dependencies you listed should come with any normal windows install unless you are using a slimmed down version like tinyxp. I will include them in further versions if this becomes a wider problem but all the pcs i've tested on have been fine

Thanks again for trying my program.
Jamie0705
New Member
New Member
 
Posts: 6
Joined: Sat Aug 01, 2009 2:03 am

Re: Virtual Box Style Gui

Postby ElGuillermo » Tue Aug 11, 2009 6:17 am

Hi !

Thanks again for such awesome feedback =D

Don't thank me, as I think you work will offer me (and other members of this forum) the chance to help people using PearPC in an easier way than it is actually.
So : thank YOU ! :)

a few of the points about the previous version im confused about though.

Mmm... I'm not surprised of that : my english is sometimes a bit messy.
Sorry about that, i'm pretty sure I could tell you exactly (and clearly) what I thought in french :)
Don't hesitate to ask for more details.

It should not be creating anything other than the log file in your C:\.

You're right : the vbgui.cfg file was from your first release... I didn't notice it a the time.

creating empty .img files.

I don't know VB at all, so I can't help you write the routine to create blank hd image files :(

the ocx dependencies you listed should come with any normal windows install

The ocx dependencies aren't solved yet on my setup... I'm using Windows XP, upgraded to SP3 (every update is installed) with WindowsUpdate.
I still had to "inject" mscomctl.ocx in C:\windows\system32, as your program crashed if I click on the "system" label (error 339).
Don't waste you time on this one... People who want to use PearPC should be able to solve runtime dependencies :)

OK. Now the remarks :)

1. Bravo
Yeah, the first thing that comes to my mind is : "cool thing !"
At last we have some decent and up to date tool to manage that obscure PearPC config file.
That will almost kill 90% of the "help" section of this forum, which is surely a good thing. Thank you :)

2. Main window : why two parameters pages ?
Maybe I'm not aware of some sort of VB limitation, but I'd like the parameters to be on the same window (no "next"/"back" buttons)

3. Changing parameters
The first ten seconds I opened your program, I created a new setup, then got lost, trying to find out how to change the parameters.
I figured out I had to click on the blue labels to access the configuration windows...
Maybe you should add some text on your interface, like "General (click to change)", "Video (click to change)", etc.

4. Disk types
Maybe your program automatically detects the drive type, guessing it from the file extension...
Still : I'd like an additional select box in which I could specify the disk type ("hd", "cdrom" or "nativecdrom").

5. Change the video settings default
In the "Video" configure window, the "Redraw interval" default value is 10.
That's quite optimistic, as this value is below actual usual host hardware capacities
Please see my post here for a complete explanation : http://www.pearpc.net/viewtopic.php?f=8&t=5582&p=47803&hilit=redraw#p47803
(a "normal" LCD screen, refreshing at 60hz, is 17ms capable, setting a lesser value for PearPC's redraw interval is a complete waste of host's processing power).
So : let's decide a majority of PearPC users is using a "normal" LCD screen and a 2 GHz+ CPU ; set the default redraw interval value at 34.
AND : 640x480 seems a bit weak, set the default resolution to 1024x768.

6. Missing (not so important) boot parameter
We can only choose "auto" or "select" boot methods... There is a third one called "force".
Even if this third way is quite unused, it may be useful sometimes.
Consider adding it (it requires two more parameters, see my previous post) in a near future.

7. CPU choice : add some text
The main difference between "G3" and "G4" in PearPC is that G4 mode emulates additional opcodes called "Altivec".
This feature wasn't totally debugged at the time of release, and some programs seems to get faulty responses from the CPU when it's in use.
I suggest you to add some text to warn people : "G4 : some graphic glitches in Tiger)"

8. RAM setting
I like your slider, but I'd like it even more if it could go up to 2048 Mo.
It would be perfect with a "manual" text entry, as I couldn't find the sweet spot on 512 Mo with the mouse.
So : add a text entry that will reflect in real-time the slider's value, and in which we can enter a manual value that should be reflected on the slider as entered.

Your tool is already quite useful "as is".
Thank you again to find the time to develop it :)
If Alex (or any site admin) reads this : consider hosting it, as it will facilitate the use of PearPC a lot.

++EG
2011 : I'm no longer using PearPC... It was fun, though :) Thanks to all contributors !
By special request, the config-file generator is back online
ElGuillermo
PearPC Guru
PearPC Guru
 
Posts: 594
Joined: Sat Mar 17, 2007 4:29 pm

Re: Virtual Box Style Gui

Postby Jamie0705 » Wed Aug 12, 2009 2:32 am

=D Thanks once again for your feedback!! and dont be modest, your english is perfect. feel free to reply in french but i promise you my french is 100x worse than your english.

In terms of creating an empty .img file, which programming languages are you familiar with? I only chose VB as some revision over the summer before returning to uni. if you know how to do this in java or c i could have a go at transferring it to VB.

The main window is in two pages because if it was all on one page i feel the window would be too large? mayb i could rearrange the sections so the more often customized settings are on the first page?

Ram settings, i can add support for up to 2GB but i'm not sure of the algorithm (sp) for converting xxx mb into the hexadecimal number needed for the config file so numbers that arent 128mb apart is impossible till i take the time to work that out.

And as for pearpc.net hosting it. That would be fantastic, i'm really glad someone else has seen it and feels it would be useful for other members of the community (im thinking especially beginners). The only issue is i haven't had any contact with the woman who created the icons i used, although they were freely available on icon-archive and she is credited and im' not sure what the etiquette is on using sun's likeness of VirtualBox.

Thanks again for trying out my app

Jamie
Jamie0705
New Member
New Member
 
Posts: 6
Joined: Sat Aug 01, 2009 2:03 am

Re: Virtual Box Style Gui

Postby ElGuillermo » Wed Aug 12, 2009 6:28 am

which programming languages are you familiar with?

Not much... I've been interested in PHP, and can create a blank file filled with any numbers of zeros, but I doubt that would be useful...
The process is quite simple :
1. create a file ;
2. open the file in write mode ;
3. fill the file with x*1024*1024 zeros, where x is the number of Mo you want your file to be sized ;
4. close the file.

Here you'll find a Java program that is able to create any sized blank HD image file, but I think it is already compiled, so it may be totally useless for you :
http://guillaumejamet.eu/stockage/downl ... erator.jar

mayb i could rearrange the sections

...I was thinking about sizing down the font.

i'm not sure of the algorithm (sp) for converting xxx mb into the hexadecimal number

http://social.msdn.microsoft.com/Forums ... c27d1e8e32 (?)

++G
2011 : I'm no longer using PearPC... It was fun, though :) Thanks to all contributors !
By special request, the config-file generator is back online
ElGuillermo
PearPC Guru
PearPC Guru
 
Posts: 594
Joined: Sat Mar 17, 2007 4:29 pm


Return to PearPC Development

Who is online

Users browsing this forum: No registered users and 2 guests

cron