The Darwin PPC cd is definitely something you should download. I tried it today and was blown away by the results. I was actually able to see the Apple logo displayed in QEMU! This cd image is free and would allow you to actually test some of the patches yourself. Here's the link: http://www.opensource.apple.com/darwinsource/images/darwinppc-801.cdr.gz
This patch is what allowed me to go so far in booting:
Index: forth/admin/iocontrol.fs =================================================================== --- forth/admin/iocontrol.fs (revision 1041) +++ forth/admin/iocontrol.fs (working copy) @@ -80,6 +80,7 @@ ;
: io-emit ( char -- ) + stdout @ 0= if drop exit then \ make sure stdout pointer is not null io-out-char c! io-out-char 1 " write" stdout @ $call-method drop ;
I could post the CIF, but it is huge. The above patch is definitely needed.
On 2012-Dec-19 11:39 , Programmingkid wrote:
This patch is what allowed me to go so far in booting:
Index: forth/admin/iocontrol.fs
--- forth/admin/iocontrol.fs (revision 1041) +++ forth/admin/iocontrol.fs (working copy) @@ -80,6 +80,7 @@ ;
: io-emit ( char -- )
- stdout @ 0= if drop exit then \ make sure stdout pointer is not null io-out-char c! io-out-char 1 " write" stdout @ $call-method drop ;
I could post the CIF, but it is huge. The above patch is definitely needed.
The above indicates a larger problem - the open of output-device failed somehow. You don't want to just drop output, you want to figure out why that failed.
On Dec 20, 2012, at 2:17 PM, Tarl Neustaedter wrote:
On 2012-Dec-19 11:39 , Programmingkid wrote:
This patch is what allowed me to go so far in booting:
Index: forth/admin/iocontrol.fs
--- forth/admin/iocontrol.fs (revision 1041) +++ forth/admin/iocontrol.fs (working copy) @@ -80,6 +80,7 @@ ;
: io-emit ( char -- )
- stdout @ 0= if drop exit then \ make sure stdout pointer is not null io-out-char c! io-out-char 1 " write" stdout @ $call-method drop
;
I could post the CIF, but it is huge. The above patch is definitely needed.
The above indicates a larger problem - the open of output-device failed somehow. You don't want to just drop output, you want to figure out why that failed.
According to this page: http://lists.openbios.org/pipermail/openbios/2011-August/006620.html, bootx is setting this variable to null.
I think this patch is all we need fo fix the problem.
On 20/12/12 21:41, Programmingkid wrote:
The above indicates a larger problem - the open of output-device failed somehow. You don't want to just drop output, you want to figure out why that failed.
According to this page: http://lists.openbios.org/pipermail/openbios/2011-August/006620.html, bootx is setting this variable to null.
I think this patch is all we need fo fix the problem.
Indeed. We need to know *why* it is being set to null. If it is because we are not setting another variable then this patch is not the correct solution.
ATB,
Mark.
On 19/12/12 16:39, Programmingkid wrote:
The Darwin PPC cd is definitely something you should download. I tried it today and was blown away by the results. I was actually able to see the Apple logo displayed in QEMU! This cd image is free and would allow you to actually test some of the patches yourself. Here's the link: http://www.opensource.apple.com/darwinsource/images/darwinppc-801.cdr.gz
This patch is what allowed me to go so far in booting:
Index: forth/admin/iocontrol.fs
--- forth/admin/iocontrol.fs (revision 1041) +++ forth/admin/iocontrol.fs (working copy) @@ -80,6 +80,7 @@ ;
: io-emit ( char -- )
- stdout @ 0= if drop exit then \ make sure stdout pointer is not null io-out-char c! io-out-char 1 " write" stdout @ $call-method drop ;
I could post the CIF, but it is huge. The above patch is definitely needed.
Interesting. I just tried the above image, but I can get the apple logo with just the get-key-map patch/divide by zero patches. Can you at least send the last few lines of the CIF output so I can compare?
ATB,
Mark.
On Dec 21, 2012, at 4:47 AM, Mark Cave-Ayland wrote:
On 19/12/12 16:39, Programmingkid wrote:
The Darwin PPC cd is definitely something you should download. I tried it today and was blown away by the results. I was actually able to see the Apple logo displayed in QEMU! This cd image is free and would allow you to actually test some of the patches yourself. Here's the link: http://www.opensource.apple.com/darwinsource/images/darwinppc-801.cdr.gz
This patch is what allowed me to go so far in booting:
Index: forth/admin/iocontrol.fs
--- forth/admin/iocontrol.fs (revision 1041) +++ forth/admin/iocontrol.fs (working copy) @@ -80,6 +80,7 @@ ;
: io-emit ( char -- )
- stdout @ 0= if drop exit then \ make sure stdout pointer is not null io-out-char c! io-out-char 1 " write" stdout @ $call-method drop
;
I could post the CIF, but it is huge. The above patch is definitely needed.
Interesting. I just tried the above image, but I can get the apple logo with just the get-key-map patch/divide by zero patches. Can you at least send the last few lines of the CIF output so I can compare?
Here it the CIF output:
call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 0000006e call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 00000065 call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 0000006c call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 0000005d call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 00000020 call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 00000066 call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 00000072 call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 0000006f call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 0000006d call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 00000020 call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 00000031 call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 00000066 call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 00000063 call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 00000035 call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 00000064 call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 00000033 call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 00000039 call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 00000034 call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612bf0 1fc5b098 0000002e call-method slw_emit ([3] -- [1]) handle_calls return: 00000000 of_client_interface: call-method 05612be8 1fc5b098 call-method slw_cr ([2] -- [1]) handle_calls return: 00000000 seek(0x1fc5d394, 0x00000000, 0x1302e000) = MAC-PARTS: macparts_seek 1302e000: MAC-PARTS: macparts_seek parent offset 13036000: 0 read(0x1fc5d394, 0x04001000, 4265888) = MAC-PARTS: macparts_read