Suggestion on using os as well as d8bridge - virtual machine
Posted: Wed Jan 18, 2012 2:33 pm
Hi Marc,
First off, I dont (yet) own a D8B but i have been following your work on the d8bridge for some time. I am intrigued by the way it works and even more so after bob tudor chimed in on the other monster thread.
I have been thinking about the problem users have posed about switching between native OS mode and d8bridge mode and the fact that a hardware switch would be required to switch serial connections between the CPU and the host computer. I was also thinking about your attempt (or future attempt as it may be) to implement the I/O sections of the mixer in d8bridge.
Well, why not just try running the d8b OS inside a virtual machine on the host PC and bypass the cpu altogether. The serial cables can be attached to the host PC and then the switchover is virtual.
In an attempt to try a proof of concept, I have done the following with positive results:
1. downloaded the trial v5.1 os from the mackie website and created images of the installation disks
2. downloaded microsoft virtual PC and created a new blank virtual machine with 64MB of RAM, and set COM1 and COM2 to use named pipes \\.\pipe\d8bCom1 \\.\pipe\d8bCom2
3. downloaded and installed the named pipe tcp proxy utility and set up two items, pointing the above pipes to ports 87 and 88 respectively.
4. opened two hyper terminal sessions, and connected to 127.0.0.1 port 87 on one and 127.0.0.1 port 88 on the other (to listen to the data being sent over the serial ports by the d8b os.
5. mounted the image of installation disk1 to the virtual machine and turned on.
6. Upon booting, a brief mackie os spiel comes up then a green asterisk on the right hand side of the screen. At this point, in the COM1 hyper terminal i see the character "R"
7. after some experimentation I worked out that I should type back on COM1 the same character "R". Bingo - the mackie os installer sends over the firmware code from control.asc
8. Once this firmare code is sent over, again after some experimentation, I type in "R" again to simulate a response from the mixer board. The mackie OS VM sends back some interesting characters:
80u 20v 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v C0u 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v 20v 89u 4Cv 6Fv 61v 64v 69v
6Ev 67v 91u 44v 69v 73v 6Bv 96u
49v 6Dv 61v 67v 65v 9Cu 31v 2Ev
CAu 4Fv 6Ev 65v CEu 6Dv 6Fv 6Dv
65v 6Ev 74v D5u 70v 6Cv 65v 61v
73v 65v 2Ev 2Ev 2Ev 47Ei 80u 50v
6Cv 65v 61v 73v 65v 87u 69v 6Ev
73v 65v 72v 74v 20v 44v 69v 73v
6Bv 20v 32v 2Ev 96u 20v 20v 20v
20v 20v 9Cu 20v 20v CAu 20v 20v
20v CEu 20v 20v 20v 20v 20v 20v
D5u 20v 20v 20v 20v 20v 20v 20v
20v 20v DFu 43v 6Fv 6Ev 74v 69v
6Ev 75v 65v
(these are not separated by spaces or line breaks, they are all one string. I ahve just grouped them into clusters of 8 for readability purposes)
....at this point I am stuck. I expect that the OS has just sent something to display on the LCD which is asking the user to press a button of some sort. I notice that in tools.ini of the system directory in the installer disk, there are some definitions for buttons:
enterSWITCH: 26C
cancelSWITCH: 26B
but typing these down COM1 (or COM2) results in nothing. My guess is that once I can crack how to fake the correct button press combination, the OS will continue to install.
I'm thinking that the best way for this to be tested further is for someone with a d8b, real installation disks and a way of connecting the serial ports of their PC to it should try it out. Unfortunately for me, I don't have a d8b so I can't!!
Does this interest anyone?
First off, I dont (yet) own a D8B but i have been following your work on the d8bridge for some time. I am intrigued by the way it works and even more so after bob tudor chimed in on the other monster thread.
I have been thinking about the problem users have posed about switching between native OS mode and d8bridge mode and the fact that a hardware switch would be required to switch serial connections between the CPU and the host computer. I was also thinking about your attempt (or future attempt as it may be) to implement the I/O sections of the mixer in d8bridge.
Well, why not just try running the d8b OS inside a virtual machine on the host PC and bypass the cpu altogether. The serial cables can be attached to the host PC and then the switchover is virtual.
In an attempt to try a proof of concept, I have done the following with positive results:
1. downloaded the trial v5.1 os from the mackie website and created images of the installation disks
2. downloaded microsoft virtual PC and created a new blank virtual machine with 64MB of RAM, and set COM1 and COM2 to use named pipes \\.\pipe\d8bCom1 \\.\pipe\d8bCom2
3. downloaded and installed the named pipe tcp proxy utility and set up two items, pointing the above pipes to ports 87 and 88 respectively.
4. opened two hyper terminal sessions, and connected to 127.0.0.1 port 87 on one and 127.0.0.1 port 88 on the other (to listen to the data being sent over the serial ports by the d8b os.
5. mounted the image of installation disk1 to the virtual machine and turned on.
6. Upon booting, a brief mackie os spiel comes up then a green asterisk on the right hand side of the screen. At this point, in the COM1 hyper terminal i see the character "R"
7. after some experimentation I worked out that I should type back on COM1 the same character "R". Bingo - the mackie os installer sends over the firmware code from control.asc
8. Once this firmare code is sent over, again after some experimentation, I type in "R" again to simulate a response from the mixer board. The mackie OS VM sends back some interesting characters:
80u 20v 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v C0u 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v 20v 20v 20v 20v 20v 20v 20v
20v 20v 89u 4Cv 6Fv 61v 64v 69v
6Ev 67v 91u 44v 69v 73v 6Bv 96u
49v 6Dv 61v 67v 65v 9Cu 31v 2Ev
CAu 4Fv 6Ev 65v CEu 6Dv 6Fv 6Dv
65v 6Ev 74v D5u 70v 6Cv 65v 61v
73v 65v 2Ev 2Ev 2Ev 47Ei 80u 50v
6Cv 65v 61v 73v 65v 87u 69v 6Ev
73v 65v 72v 74v 20v 44v 69v 73v
6Bv 20v 32v 2Ev 96u 20v 20v 20v
20v 20v 9Cu 20v 20v CAu 20v 20v
20v CEu 20v 20v 20v 20v 20v 20v
D5u 20v 20v 20v 20v 20v 20v 20v
20v 20v DFu 43v 6Fv 6Ev 74v 69v
6Ev 75v 65v
(these are not separated by spaces or line breaks, they are all one string. I ahve just grouped them into clusters of 8 for readability purposes)
....at this point I am stuck. I expect that the OS has just sent something to display on the LCD which is asking the user to press a button of some sort. I notice that in tools.ini of the system directory in the installer disk, there are some definitions for buttons:
enterSWITCH: 26C
cancelSWITCH: 26B
but typing these down COM1 (or COM2) results in nothing. My guess is that once I can crack how to fake the correct button press combination, the OS will continue to install.
I'm thinking that the best way for this to be tested further is for someone with a d8b, real installation disks and a way of connecting the serial ports of their PC to it should try it out. Unfortunately for me, I don't have a d8b so I can't!!
Does this interest anyone?