% ./ppc-softmmu/qemu-system-ppc -bios /home/amade/workdir/openbios-devel+/obj-ppc/openbios-qemu.elf -cdrom /home/amade/emu/Mac\ OS\ 10.2\ \(Disc\ 1\).img -g 800x600x32 -m 512 -nographic >> ============================================================= >> OpenBIOS 1.0 [Dec 18 2012 10:41] >> Configuration device id QEMU version 1 machine id 2 >> CPUs: 1 >> Memory: 512M >> UUID: 00000000-0000-0000-0000-000000000000 >> CPU type PowerPC,750 Welcome to OpenBIOS v1.0 built on Dec 18 2012 10:41 Trying hd:,\\:tbxi... Trying hd:,\ppc\bootinfo.txt... No valid state has been set by load or init-program 0 > boot cd:,\\:tbxi >> finddevice("/openprom") = 0xfff42f40 >> getprop(0xfff42f40, "model", 0x01cc002c, 255) = 15 >> 0x01cc002c 4f 70 65 6e 46 69 72 6d 77 61 72 65 20 33 00 __ OpenFirmware 3. >> of_client_interface: interpret 01c2270c >> interpret hex unselect-dev " /packages" find-device new-device " sl_words" device-name : open true ; : close ; 0 value outputLevel : slw_set_output_level dup 0= if 0 stdout ! then to outputLevel ; : slw_emit 2 outputLevel <= if emit else drop then ; : slw_cr 2 outputLevel <= if cr then ; 0 value keyboardIH 20 buffer: keyMap : slw_init_keymap to keyboardIH keyMap dup 20 0 fill ; : slw_update_keymap { ; dpth } depth -> dpth keyboardIH if " get-key-map" keyboardIH $call-method depth dpth - 1 = if 20 then 4 / 0 do dup i 4 * + l@ keyMap i 4 * + tuck l@ or swap l! loop drop then ; 0 value screenIH 0 value cursorAddr 0 value cursorX 0 value cursorY 0 value cursorW 0 value cursorH 0 value cursorFrames 0 value cursorPixelSize 0 value cursorStage 0 value cursorTime 0 value cursorDelay : slw_spin screenIH 0<> cursorAddr 0<> and if get-msecs dup cursorTime - cursorDelay >= if to cursorTime slw_update_keymap cursorStage 1+ cursorFrames mod dup to cursorStage handle_calls return: 00000000 1fc5b098 >> finddevice("/options") = 0xfff430e8 >> finddevice("/chosen") = 0xfff43160 >> of_client_interface: interpret 01c1f4b4 >> interpret dev /chosen new-device " memory-map" device-name active-package device-end ([1] -- [2]) >> handle_calls return: 00000000 fff50a88 >> getprop(0xfff43160, "mmu", 0x01cb837c, 4) = 4 >> 0x01cb837c 1f c5 a8 2c __ __ __ __ __ __ __ __ __ __ __ __ .Ũ, >> getprop(0xfff43160, "memory", 0x01cb8380, 4) = 4 >> 0x01cb8380 1f c5 ae 58 __ __ __ __ __ __ __ __ __ __ __ __ .ŮX >> getprop(0xfff43160, "stdout", 0x01cb8384, 4) = 4 >> 0x01cb8384 1f c5 af 5c __ __ __ __ __ __ __ __ __ __ __ __ .ů\ >> instance-to-package(0x1fc5af5c) = 0xfff4f79c >> getprop(0xfff43160, "stdin", 0x01cb8388, 4) = 4 >> 0x01cb8388 1f c5 b0 64 __ __ __ __ __ __ __ __ __ __ __ __ .Űd >> instance-to-package(0x1fc5b064) = 0xfff4f79c >> getprop(0xfff4f79c, "name", 0x01cc01bc, 31) = 5 >> 0x01cc01bc 63 68 2d 62 00 __ __ __ __ __ __ __ __ __ __ __ ch-b. >> open("keyboard") = 0x1fc5b49c >> of_client_interface: call-method 01c22e10 1fc5b098 1fc5b49c >> call-method slw_init_keymap ([3] -- [2]) >> handle_calls return: 00000000 fff50550 >> of_client_interface: call-method 01c22e20 1fc5b098 >> call-method slw_update_keymap ([2] -- [1]) call-method slw_update_keymap: exception -21 >> call-method 'slw_update_keymap': possible argument error (0--1) got 0 >> handle_calls return: ffffffdf >> getprop(0xfff430e8, "security-mode", 0x01cc01dc, 32) = -1 >> of_client_interface: call-method 01c22df8 1fc5b098 00000000 >> call-method slw_set_output_level ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd08 1fc5b098 >> call-method slw_cr ([2] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd08 1fc5b098 >> call-method slw_cr ([2] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd10 1fc5b098 0000004d >> call-method slw_emit ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd10 1fc5b098 00000061 >> call-method slw_emit ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd10 1fc5b098 00000063 >> call-method slw_emit ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd10 1fc5b098 00000020 >> call-method slw_emit ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd10 1fc5b098 0000004f >> call-method slw_emit ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd10 1fc5b098 00000053 >> call-method slw_emit ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd10 1fc5b098 00000020 >> call-method slw_emit ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd10 1fc5b098 00000058 >> call-method slw_emit ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd10 1fc5b098 00000020 >> call-method slw_emit ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd10 1fc5b098 0000004c >> call-method slw_emit ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd10 1fc5b098 0000006f >> call-method slw_emit ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd10 1fc5b098 00000061 >> call-method slw_emit ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd10 1fc5b098 00000064 >> call-method slw_emit ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd10 1fc5b098 00000065 >> call-method slw_emit ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd10 1fc5b098 00000072 >> call-method slw_emit ([3] -- [1]) >> handle_calls return: 00000000 >> of_client_interface: call-method 01c1fd08 1fc5b098 >> call-method slw_cr ([2] -- [1]) >> handle_calls return: 00000000 >> claim(0x01d00000, 1048576, 0) = 0x01d00000 >> claim(0x01400000, 8388608, 0) = 0x01400000 >> claim(0x00004000, 20955136, 0) = 0x00004000 >> peer(0x00000000) = 0xfff42d80 >> child(0xfff42d80) = 0xfff42e9c >> getprop(0xfff42e9c, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff42e9c) = 0x00000000 >> peer(0xfff42e9c) = 0xfff42f40 >> getprop(0xfff42f40, "device_type", 0x01cb7360, 4095) = 8 >> 0x01cb7360 42 6f 6f 74 52 4f 4d 00 __ __ __ __ __ __ __ __ BootROM. >> child(0xfff42f40) = 0xfff48d2c >> getprop(0xfff48d2c, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff48d2c) = 0x00000000 >> peer(0xfff48d2c) = 0x00000000 >> peer(0xfff42f40) = 0xfff430e8 >> getprop(0xfff430e8, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff430e8) = 0x00000000 >> peer(0xfff430e8) = 0xfff43160 >> getprop(0xfff43160, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff43160) = 0xfff50a88 >> getprop(0xfff50a88, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff50a88) = 0x00000000 >> peer(0xfff50a88) = 0x00000000 >> peer(0xfff43160) = 0xfff43244 >> getprop(0xfff43244, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff43244) = 0xfff432e8 >> getprop(0xfff432e8, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff432e8) = 0x00000000 >> peer(0xfff432e8) = 0x00000000 >> peer(0xfff43244) = 0xfff48a38 >> getprop(0xfff48a38, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff48a38) = 0xfff49b34 >> getprop(0xfff49b34, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff49b34) = 0x00000000 >> peer(0xfff49b34) = 0xfff49c74 >> getprop(0xfff49c74, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff49c74) = 0x00000000 >> peer(0xfff49c74) = 0xfff4a8fc >> getprop(0xfff4a8fc, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff4a8fc) = 0x00000000 >> peer(0xfff4a8fc) = 0xfff4b664 >> getprop(0xfff4b664, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff4b664) = 0x00000000 >> peer(0xfff4b664) = 0xfff4b9b8 >> getprop(0xfff4b9b8, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff4b9b8) = 0x00000000 >> peer(0xfff4b9b8) = 0xfff4bc58 >> getprop(0xfff4bc58, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff4bc58) = 0x00000000 >> peer(0xfff4bc58) = 0xfff4bef4 >> getprop(0xfff4bef4, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff4bef4) = 0x00000000 >> peer(0xfff4bef4) = 0xfff4c12c >> getprop(0xfff4c12c, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff4c12c) = 0x00000000 >> peer(0xfff4c12c) = 0xfff4c364 >> getprop(0xfff4c364, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff4c364) = 0x00000000 >> peer(0xfff4c364) = 0xfff4c59c >> getprop(0xfff4c59c, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff4c59c) = 0x00000000 >> peer(0xfff4c59c) = 0xfff4c7d4 >> getprop(0xfff4c7d4, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff4c7d4) = 0x00000000 >> peer(0xfff4c7d4) = 0xfff4ca08 >> getprop(0xfff4ca08, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff4ca08) = 0x00000000 >> peer(0xfff4ca08) = 0xfff4cad4 >> getprop(0xfff4cad4, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff4cad4) = 0x00000000 >> peer(0xfff4cad4) = 0xfff4cb9c >> getprop(0xfff4cb9c, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff4cb9c) = 0x00000000 >> peer(0xfff4cb9c) = 0xfff503b0 >> getprop(0xfff503b0, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff503b0) = 0x00000000 >> peer(0xfff503b0) = 0x00000000 >> peer(0xfff48a38) = 0xfff4a6fc >> getprop(0xfff4a6fc, "device_type", 0x01cb7360, 4095) = -1 >> child(0xfff4a6fc) = 0xfff4fdd0 >> getprop(0xfff4fdd0, "device_type", 0x01cb7360, 4095) = 4 >> 0x01cb7360 63 70 75 00 __ __ __ __ __ __ __ __ __ __ __ __ cpu. >> child(0xfff4fdd0) = 0x00000000 >> peer(0xfff4fdd0) = 0x00000000 >> peer(0xfff4a6fc) = 0xfff4a7fc >> getprop(0xfff4a7fc, "device_type", 0x01cb7360, 4095) = 7 >> 0x01cb7360 6d 65 6d 6f 72 79 00 __ __ __ __ __ __ __ __ __ memory. >> child(0xfff4a7fc) = 0x00000000 >> peer(0xfff4a7fc) = 0xfff4cc68 >> getprop(0xfff4cc68, "device_type", 0x01cb7360, 4095) = 4 >> 0x01cb7360 70 63 69 00 __ __ __ __ __ __ __ __ __ __ __ __ pci. >> child(0xfff4cc68) = 0xfff4d080 >> getprop(0xfff4d080, "device_type", 0x01cb7360, 4095) = 8 >> 0x01cb7360 64 69 73 70 6c 61 79 00 __ __ __ __ __ __ __ __ display. >> child(0xfff4d080) = 0x00000000 >> peer(0xfff4d080) = 0xfff4d580 >> getprop(0xfff4d580, "device_type", 0x01cb7360, 4095) = 8 >> 0x01cb7360 6e 65 74 77 6f 72 6b 00 __ __ __ __ __ __ __ __ network. >> child(0xfff4d580) = 0x00000000 >> peer(0xfff4d580) = 0xfff4d95c >> getprop(0xfff4d95c, "device_type", 0x01cb7360, 4095) = 8 >> 0x01cb7360 70 63 69 2d 69 64 65 00 __ __ __ __ __ __ __ __ pci-ide. >> child(0xfff4d95c) = 0xfff4dd98 >> getprop(0xfff4dd98, "device_type", 0x01cb7360, 4095) = 4 >> 0x01cb7360 61 74 61 00 __ __ __ __ __ __ __ __ __ __ __ __ ata. >> child(0xfff4dd98) = 0xfff4df18 >> getprop(0xfff4df18, "device_type", 0x01cb7360, 4095) = 6 >> 0x01cb7360 62 6c 6f 63 6b 00 __ __ __ __ __ __ __ __ __ __ block. >> child(0xfff4df18) = 0x00000000 >> peer(0xfff4df18) = 0x00000000 >> peer(0xfff4dd98) = 0xfff4e2e4 >> getprop(0xfff4e2e4, "device_type", 0x01cb7360, 4095) = 4 >> 0x01cb7360 61 74 61 00 __ __ __ __ __ __ __ __ __ __ __ __ ata. >> child(0xfff4e2e4) = 0x00000000 >> peer(0xfff4e2e4) = 0x00000000 >> peer(0xfff4d95c) = 0xfff4e464 >> getprop(0xfff4e464, "device_type", 0x01cb7360, 4095) = 7 >> 0x01cb7360 6d 61 63 2d 69 6f 00 __ __ __ __ __ __ __ __ __ mac-io. >> child(0xfff4e464) = 0xfff4e944 >> getprop(0xfff4e944, "device_type", 0x01cb7360, 4095) = 9 >> 0x01cb7360 76 69 61 2d 63 75 64 61 00 __ __ __ __ __ __ __ via-cuda. >> child(0xfff4e944) = 0xfff4eb60 >> getprop(0xfff4eb60, "device_type", 0x01cb7360, 4095) = 4 >> 0x01cb7360 61 64 62 00 __ __ __ __ __ __ __ __ __ __ __ __ adb. >> child(0xfff4eb60) = 0xfff4ecc8 >> getprop(0xfff4ecc8, "device_type", 0x01cb7360, 4095) = 9 >> 0x01cb7360 6b 65 79 62 6f 61 72 64 00 __ __ __ __ __ __ __ keyboard. >> child(0xfff4ecc8) = 0x00000000 >> peer(0xfff4ecc8) = 0xfff4ee70 >> getprop(0xfff4ee70, "device_type", 0x01cb7360, 4095) = 6 >> 0x01cb7360 6d 6f 75 73 65 00 __ __ __ __ __ __ __ __ __ __ mouse. >> child(0xfff4ee70) = 0x00000000 >> peer(0xfff4ee70) = 0x00000000 >> peer(0xfff4eb60) = 0xfff4effc >> getprop(0xfff4effc, "device_type", 0x01cb7360, 4095) = 4 >> 0x01cb7360 72 74 63 00 __ __ __ __ __ __ __ __ __ __ __ __ rtc. >> child(0xfff4effc) = 0x00000000 >> peer(0xfff4effc) = 0x00000000 >> peer(0xfff4e944) = 0xfff4f1dc >> getprop(0xfff4f1dc, "device_type", 0x01cb7360, 4095) = 6 >> 0x01cb7360 6e 76 72 61 6d 00 __ __ __ __ __ __ __ __ __ __ nvram. >> child(0xfff4f1dc) = 0x00000000 >> peer(0xfff4f1dc) = 0xfff4f3fc >> getprop(0xfff4f3fc, "device_type", 0x01cb7360, 4095) = 5 >> 0x01cb7360 65 73 63 63 00 __ __ __ __ __ __ __ __ __ __ __ escc. >> child(0xfff4f3fc) = 0xfff4f504 >> getprop(0xfff4f504, "device_type", 0x01cb7360, 4095) = 7 >> 0x01cb7360 73 65 72 69 61 6c 00 __ __ __ __ __ __ __ __ __ serial. >> child(0xfff4f504) = 0x00000000 >> peer(0xfff4f504) = 0xfff4f79c >> getprop(0xfff4f79c, "device_type", 0x01cb7360, 4095) = 7 >> 0x01cb7360 73 65 72 69 61 6c 00 __ __ __ __ __ __ __ __ __ serial. >> child(0xfff4f79c) = 0x00000000 >> peer(0xfff4f79c) = 0x00000000 >> peer(0xfff4f3fc) = 0xfff4fa08 >> getprop(0xfff4fa08, "device_type", 0x01cb7360, 4095) = 4 >> 0x01cb7360 61 74 61 00 __ __ __ __ __ __ __ __ __ __ __ __ ata. >> child(0xfff4fa08) = 0x00000000 >> peer(0xfff4fa08) = 0x00000000 >> peer(0xfff4e464) = 0x00000000 >> parent(0xfff4d080) = 0xfff4cc68 >> peer(0xfff4cc68) = 0x00000000 >> parent(0xfff4cc68) = 0xfff42d80 >> peer(0xfff42d80) = 0x00000000 >> parent(0xfff42d80) = 0x00000000 >> finddevice("/chaos/control") = 0xffffffff >> finddevice("screen") = 0xfff4f79c >> of_client_interface: interpret 01c1f6e8 >> interpret " _screen-ihandle" $find if execute else 0 then ([1] -- [2]) >> interpret '" _screen-ihandle" $find if execute else 0 then': possible argument error (-1--2) got 2 >> handle_calls return: 00000000 00000000 >> package-to-path(0xfff4d080, 0x01cbff4c, 255) = 24 >> 0x01cbff4c 2f 70 63 69 40 38 30 30 30 30 30 30 30 2f 51 45 /pci@80000000/QE >> 0x01cbff5c 4d 55 2c 56 47 41 40 31 __ __ __ __ __ __ __ __ MU,VGA@1 >> open("/pci@80000000/QEMU,VGA@1:0") = 0x1fc5b508 >> getprop(0xfff4d080, "display-type", 0x01cc005c, 31) = -1 >> getprop(0xfff4d080, "address", 0x01c24848, 4) = 4 >> 0x01c24848 80 00 00 00 __ __ __ __ __ __ __ __ __ __ __ __ .... >> getprop(0xfff4d080, "width", 0x01c2484c, 4) = 4 >> 0x01c2484c 00 00 03 20 __ __ __ __ __ __ __ __ __ __ __ __ ... >> getprop(0xfff4d080, "height", 0x01c24850, 4) = 4 >> 0x01c24850 00 00 02 58 __ __ __ __ __ __ __ __ __ __ __ __ ...X >> getprop(0xfff4d080, "depth", 0x01c24854, 4) = 4 >> 0x01c24854 00 00 00 20 __ __ __ __ __ __ __ __ __ __ __ __ ... >> getprop(0xfff4d080, "linebytes", 0x01c24858, 4) = 4 >> 0x01c24858 00 00 0c 80 __ __ __ __ __ __ __ __ __ __ __ __ .... >> of_client_interface: interpret 01c1f760 00000004 00000c80 fff4d080 >> interpret value depthbytes value rowbytes to active-package frame-buffer-adr value this-frame-buffer-adr : rect-setup >r >r rowbytes * swap depthbytes * + this-frame-buffer-adr + r> depthbytes * -rot r> ; : DRAW-RECTANGLE rect-setup 0 ?do 2dup 4 pick move 2 pick rowbytes d+ loop 3drop ; : FILL-RECTANGLE rect-setup rot depthbytes case 1 of dup 8 << or dup 10 << or endof 2 of dup 10 << or endof endcase -rot 0 ?do dup 3 pick 3 pick filll rowbytes + loop 3drop ; : READ-RECTANGLE rect-setup >r swap r> 0 ?do 2dup 4 pick move rowbytes 3 pick d+ loop 3drop ; this-frame-buffer-adr 0 to active-package ([4] -- [2])