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