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