[Debootloaders-devel] r186 - in branches/vendor/emile: . apple_driver debian docs first libblock libcontainer libemile libfloppy libgzip libiso9660 libmacos libmacos/macos libscsi libstream libunix second tools

Wouter Verhelst wouter at alioth.debian.org
Wed Apr 11 20:23:43 UTC 2007


Author: wouter
Date: 2007-04-11 20:23:39 +0000 (Wed, 11 Apr 2007)
New Revision: 186

Added:
   branches/vendor/emile/apple_driver/
   branches/vendor/emile/apple_driver/Makefile
   branches/vendor/emile/apple_driver/console.c
   branches/vendor/emile/apple_driver/console.h
   branches/vendor/emile/apple_driver/font_8x16.c
   branches/vendor/emile/apple_driver/head.S
   branches/vendor/emile/apple_driver/ld.script
   branches/vendor/emile/apple_driver/main.c
   branches/vendor/emile/apple_driver/vga.c
   branches/vendor/emile/apple_driver/vga.h
   branches/vendor/emile/debian/
   branches/vendor/emile/debian/Makefile
   branches/vendor/emile/debian/changelog
   branches/vendor/emile/debian/compat
   branches/vendor/emile/debian/control
   branches/vendor/emile/debian/copyright
   branches/vendor/emile/debian/emile-bootblocks.dirs
   branches/vendor/emile/debian/emile-bootblocks.install
   branches/vendor/emile/debian/emile-bootblocks.postinst
   branches/vendor/emile/debian/emile.install
   branches/vendor/emile/debian/rules
   branches/vendor/emile/docs/emile-mkisofs.sgml
   branches/vendor/emile/libemile/emile_first_set_param_scsi_extents.c
   branches/vendor/emile/libemile/emile_map_get_driver_signature.c
   branches/vendor/emile/libemile/emile_second_get_param.c
   branches/vendor/emile/libemile/emile_second_set_param.c
   branches/vendor/emile/libscsi/scsi_REQUEST_SENSE.c
   branches/vendor/emile/libscsi/scsi_TEST_UNIT_READY.c
   branches/vendor/emile/libunix/strdup.c
   branches/vendor/emile/second/switch_to_PPC.S
   branches/vendor/emile/second/switch_to_PPC.h
   branches/vendor/emile/tools/emile-mkisofs.c
Modified:
   branches/vendor/emile/AUTHORS
   branches/vendor/emile/ChangeLog
   branches/vendor/emile/Makefile
   branches/vendor/emile/README
   branches/vendor/emile/README.floppy
   branches/vendor/emile/README.scsi
   branches/vendor/emile/Rules.mk
   branches/vendor/emile/docs/Makefile
   branches/vendor/emile/docs/emile-first-tune.sgml
   branches/vendor/emile/docs/emile-install.sgml
   branches/vendor/emile/docs/emile-map-set.sgml
   branches/vendor/emile/docs/emile-set-cmdline.sgml
   branches/vendor/emile/docs/emile-set-output.sgml
   branches/vendor/emile/docs/emile.sgml
   branches/vendor/emile/first/32bitmode.i
   branches/vendor/emile/first/Makefile
   branches/vendor/emile/first/first.S
   branches/vendor/emile/first/floppy.i
   branches/vendor/emile/first/macos.i
   branches/vendor/emile/first/scsi.i
   branches/vendor/emile/libblock/Makefile
   branches/vendor/emile/libblock/block_close.c
   branches/vendor/emile/libblock/block_fstat.c
   branches/vendor/emile/libblock/block_lseek.c
   branches/vendor/emile/libblock/block_open.c
   branches/vendor/emile/libblock/block_read.c
   branches/vendor/emile/libblock/libblock.h
   branches/vendor/emile/libcontainer/Makefile
   branches/vendor/emile/libcontainer/container_close.c
   branches/vendor/emile/libcontainer/container_fstat.c
   branches/vendor/emile/libcontainer/container_lseek.c
   branches/vendor/emile/libcontainer/container_open.c
   branches/vendor/emile/libcontainer/container_read.c
   branches/vendor/emile/libcontainer/libcontainer.h
   branches/vendor/emile/libemile/Makefile
   branches/vendor/emile/libemile/bootblock.h
   branches/vendor/emile/libemile/emile.h
   branches/vendor/emile/libemile/emile_block0_write.c
   branches/vendor/emile/libemile/emile_checksum.c
   branches/vendor/emile/libemile/emile_first_get_param.c
   branches/vendor/emile/libemile/emile_first_set_param.c
   branches/vendor/emile/libemile/emile_first_set_param_scsi.c
   branches/vendor/emile/libemile/emile_floppy_create_image.c
   branches/vendor/emile/libemile/emile_map_bootblock_get_type.c
   branches/vendor/emile/libemile/emile_map_bootblock_is_valid.c
   branches/vendor/emile/libemile/emile_map_bootblock_read.c
   branches/vendor/emile/libemile/emile_map_bootblock_write.c
   branches/vendor/emile/libemile/emile_map_close.c
   branches/vendor/emile/libemile/emile_map_dev.c
   branches/vendor/emile/libemile/emile_map_geometry.c
   branches/vendor/emile/libemile/emile_map_get_bootinfo.c
   branches/vendor/emile/libemile/emile_map_get_driver_info.c
   branches/vendor/emile/libemile/emile_map_get_driver_number.c
   branches/vendor/emile/libemile/emile_map_get_number.c
   branches/vendor/emile/libemile/emile_map_get_partition_geometry.c
   branches/vendor/emile/libemile/emile_map_get_partition_name.c
   branches/vendor/emile/libemile/emile_map_get_partition_type.c
   branches/vendor/emile/libemile/emile_map_has_apple_driver.c
   branches/vendor/emile/libemile/emile_map_is_valid.c
   branches/vendor/emile/libemile/emile_map_open.c
   branches/vendor/emile/libemile/emile_map_partition_get_flags.c
   branches/vendor/emile/libemile/emile_map_partition_is_bootable.c
   branches/vendor/emile/libemile/emile_map_partition_is_startup.c
   branches/vendor/emile/libemile/emile_map_partition_is_valid.c
   branches/vendor/emile/libemile/emile_map_partition_set_bootable.c
   branches/vendor/emile/libemile/emile_map_partition_set_flags.c
   branches/vendor/emile/libemile/emile_map_partition_set_startup.c
   branches/vendor/emile/libemile/emile_map_read.c
   branches/vendor/emile/libemile/emile_map_seek_driver_partition.c
   branches/vendor/emile/libemile/emile_map_set_bootinfo.c
   branches/vendor/emile/libemile/emile_map_set_driver_info.c
   branches/vendor/emile/libemile/emile_map_set_driver_number.c
   branches/vendor/emile/libemile/emile_map_set_partition_name.c
   branches/vendor/emile/libemile/emile_map_set_partition_type.c
   branches/vendor/emile/libemile/emile_map_set_startup.c
   branches/vendor/emile/libemile/emile_map_write.c
   branches/vendor/emile/libemile/emile_scsi_create_container.c
   branches/vendor/emile/libemile/emile_scsi_get_dev.c
   branches/vendor/emile/libemile/emile_scsi_get_rdev.c
   branches/vendor/emile/libemile/emile_second_create_mapfile.c
   branches/vendor/emile/libemile/emile_second_get_configuration.c
   branches/vendor/emile/libemile/emile_second_get_next_property.c
   branches/vendor/emile/libemile/emile_second_get_property.c
   branches/vendor/emile/libemile/emile_second_remove_property.c
   branches/vendor/emile/libemile/emile_second_set_configuration.c
   branches/vendor/emile/libemile/emile_second_set_property.c
   branches/vendor/emile/libemile/libemile.h
   branches/vendor/emile/libemile/partition.h
   branches/vendor/emile/libfloppy/Makefile
   branches/vendor/emile/libfloppy/floppy_close.c
   branches/vendor/emile/libfloppy/floppy_open.c
   branches/vendor/emile/libfloppy/floppy_read_sector.c
   branches/vendor/emile/libfloppy/libfloppy.h
   branches/vendor/emile/libgzip/Makefile
   branches/vendor/emile/libiso9660/Makefile
   branches/vendor/emile/libiso9660/iso9660_close.c
   branches/vendor/emile/libiso9660/iso9660_closedir.c
   branches/vendor/emile/libiso9660/iso9660_fstat.c
   branches/vendor/emile/libiso9660/iso9660_is_directory.c
   branches/vendor/emile/libiso9660/iso9660_lseek.c
   branches/vendor/emile/libiso9660/iso9660_mount.c
   branches/vendor/emile/libiso9660/iso9660_open.c
   branches/vendor/emile/libiso9660/iso9660_opendir.c
   branches/vendor/emile/libiso9660/iso9660_read.c
   branches/vendor/emile/libiso9660/iso9660_readdir.c
   branches/vendor/emile/libiso9660/libiso9660.h
   branches/vendor/emile/libmacos/CloseDriver.c
   branches/vendor/emile/libmacos/Makefile
   branches/vendor/emile/libmacos/OpenDriver.c
   branches/vendor/emile/libmacos/SerGetBuf.c
   branches/vendor/emile/libmacos/display_properties.S
   branches/vendor/emile/libmacos/libmacos.h
   branches/vendor/emile/libmacos/macos/devices.h
   branches/vendor/emile/libmacos/macos/errors.h
   branches/vendor/emile/libmacos/macos/events.h
   branches/vendor/emile/libmacos/macos/files.h
   branches/vendor/emile/libmacos/macos/gestalt.h
   branches/vendor/emile/libmacos/macos/init.h
   branches/vendor/emile/libmacos/macos/lowmem.h
   branches/vendor/emile/libmacos/macos/memory.h
   branches/vendor/emile/libmacos/macos/osutils.h
   branches/vendor/emile/libmacos/macos/quickdraw.h
   branches/vendor/emile/libmacos/macos/romdefs.h
   branches/vendor/emile/libmacos/macos/scsi.h
   branches/vendor/emile/libmacos/macos/serial.h
   branches/vendor/emile/libmacos/macos/slotmanager.h
   branches/vendor/emile/libmacos/macos/traps.h
   branches/vendor/emile/libmacos/macos/types.h
   branches/vendor/emile/libmacos/macos/video.h
   branches/vendor/emile/libscsi/Makefile
   branches/vendor/emile/libscsi/libscsi.h
   branches/vendor/emile/libscsi/scsi_INQUIRY.c
   branches/vendor/emile/libscsi/scsi_READ.c
   branches/vendor/emile/libscsi/scsi_READ_CAPACITY.c
   branches/vendor/emile/libscsi/scsi_close.c
   branches/vendor/emile/libscsi/scsi_command.c
   branches/vendor/emile/libscsi/scsi_get_blocksize.c
   branches/vendor/emile/libscsi/scsi_open.c
   branches/vendor/emile/libscsi/scsi_read_sector.c
   branches/vendor/emile/libstream/Makefile
   branches/vendor/emile/libstream/libstream.h
   branches/vendor/emile/libstream/stream_close.c
   branches/vendor/emile/libstream/stream_fstat.c
   branches/vendor/emile/libstream/stream_lseek.c
   branches/vendor/emile/libstream/stream_open.c
   branches/vendor/emile/libstream/stream_read.c
   branches/vendor/emile/libunix/Makefile
   branches/vendor/emile/libunix/divsi3.S
   branches/vendor/emile/libunix/free.c
   branches/vendor/emile/libunix/malloc.c
   branches/vendor/emile/libunix/memcpy.c
   branches/vendor/emile/libunix/memset.c
   branches/vendor/emile/libunix/modsi3.S
   branches/vendor/emile/libunix/mulsi3.S
   branches/vendor/emile/libunix/printf.c
   branches/vendor/emile/libunix/putchar.c
   branches/vendor/emile/libunix/puts.c
   branches/vendor/emile/libunix/read.c
   branches/vendor/emile/libunix/sprintf.c
   branches/vendor/emile/libunix/strcmp.c
   branches/vendor/emile/libunix/strcpy.c
   branches/vendor/emile/libunix/strlen.c
   branches/vendor/emile/libunix/strncmp.c
   branches/vendor/emile/libunix/strncpy.c
   branches/vendor/emile/libunix/udivsi3.S
   branches/vendor/emile/libunix/umodsi3.S
   branches/vendor/emile/libunix/write.c
   branches/vendor/emile/second/MMU030.c
   branches/vendor/emile/second/MMU030.h
   branches/vendor/emile/second/MMU030_asm.S
   branches/vendor/emile/second/MMU040.c
   branches/vendor/emile/second/MMU040.h
   branches/vendor/emile/second/MMU040_asm.S
   branches/vendor/emile/second/Makefile
   branches/vendor/emile/second/arch.c
   branches/vendor/emile/second/arch.h
   branches/vendor/emile/second/bank.c
   branches/vendor/emile/second/bank.h
   branches/vendor/emile/second/bootenv.c
   branches/vendor/emile/second/bootenv.h
   branches/vendor/emile/second/bootinfo.c
   branches/vendor/emile/second/bootx.c
   branches/vendor/emile/second/bootx.h
   branches/vendor/emile/second/cli.c
   branches/vendor/emile/second/cli.h
   branches/vendor/emile/second/config.c
   branches/vendor/emile/second/config.h
   branches/vendor/emile/second/console.c
   branches/vendor/emile/second/console.h
   branches/vendor/emile/second/copymem.i
   branches/vendor/emile/second/driver.c
   branches/vendor/emile/second/driver.h
   branches/vendor/emile/second/enter_kernel.c
   branches/vendor/emile/second/enter_kernel.h
   branches/vendor/emile/second/enter_kernel030.S
   branches/vendor/emile/second/enter_kernel030.h
   branches/vendor/emile/second/enter_kernel040.S
   branches/vendor/emile/second/enter_kernel040.h
   branches/vendor/emile/second/enter_kernelnoMMU.S
   branches/vendor/emile/second/enter_kernelnoMMU.h
   branches/vendor/emile/second/font_8x16.c
   branches/vendor/emile/second/head.S
   branches/vendor/emile/second/head.h
   branches/vendor/emile/second/keyboard.c
   branches/vendor/emile/second/keyboard.h
   branches/vendor/emile/second/ld.script
   branches/vendor/emile/second/load.c
   branches/vendor/emile/second/load.h
   branches/vendor/emile/second/main.c
   branches/vendor/emile/second/misc.c
   branches/vendor/emile/second/misc.h
   branches/vendor/emile/second/serial.c
   branches/vendor/emile/second/serial.h
   branches/vendor/emile/second/vga.c
   branches/vendor/emile/second/vga.h
   branches/vendor/emile/tools/Makefile
   branches/vendor/emile/tools/device.c
   branches/vendor/emile/tools/device.h
   branches/vendor/emile/tools/emile-first-tune.c
   branches/vendor/emile/tools/emile-install.c
   branches/vendor/emile/tools/emile-map-set.c
   branches/vendor/emile/tools/emile-set-cmdline.c
   branches/vendor/emile/tools/emile-set-output.c
   branches/vendor/emile/tools/emile.c
   branches/vendor/emile/tools/emile_scanbus.c
   branches/vendor/emile/tools/iso9660_cat.c
   branches/vendor/emile/tools/iso9660_ls.c
Log:
Import 0.11

Modified: branches/vendor/emile/AUTHORS
===================================================================
--- branches/vendor/emile/AUTHORS	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/AUTHORS	2007-04-11 20:23:39 UTC (rev 186)
@@ -1 +1 @@
-Laurent Vivier <LaurentVivier at wanadoo.fr>
+Laurent Vivier <Laurent at lvivier.info>

Modified: branches/vendor/emile/ChangeLog
===================================================================
--- branches/vendor/emile/ChangeLog	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/ChangeLog	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,610 +1,1599 @@
-2005-12-05 21:08  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2007-03-28 21:29  Laurent Vivier <Laurent at lvivier.info>
 
+	* debian/changelog: Release 0.11
+
+2007-03-28 20:59  Laurent Vivier <Laurent at lvivier.info>
+
+	* ChangeLog: Release 0.11
+
+2007-03-28 20:53  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: Release 0.11
+
+2007-03-28 13:23  Laurent Vivier <Laurent at lvivier.info>
+
+	* ChangeLog: update
+
+2007-03-27 11:01  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: allow to create floppy cdboot-*.bin without providing
+	  kernel
+
+2007-03-26 20:33  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: Add etch support for cd-rom
+
+2007-03-26 14:11  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/control: gcc-4.1 produces broken m68k codes, so on etch I
+	  use gcc-3.4
+
+2007-03-25 01:34  Laurent Vivier <Laurent at lvivier.info>
+
+	* apple_driver/vga.c, second/vga.c: vga.base and vga.video are not
+	  arrays
+
+2007-03-23 16:25  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/emile.install, docs/Makefile, docs/emile-first-tune.sgml,
+	  docs/emile-install.sgml, docs/emile-map-set.sgml,
+	  docs/emile-mkisofs.sgml, docs/emile-set-cmdline.sgml,
+	  docs/emile-set-output.sgml, docs/emile.sgml: Add emile-mkisofs
+	  manpage
+
+2007-03-23 16:22  Laurent Vivier <Laurent at lvivier.info>
+
+	* ChangeLog: update
+
+2007-03-22 18:39  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/rules: force M68K_CROSS_COMPILE
+
+2007-03-22 18:26  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/control: What is the real name of gcc m68k cross-compiler
+	  package, I don't know... so I put dependencies on several names I
+	  know... needed since I move to emdebian toolchain
+
+2007-03-22 18:02  Laurent Vivier <Laurent at lvivier.info>
+
+	* apple_driver/vga.c, libmacos/SerGetBuf.c, second/vga.c: a pointer
+	  to an array is the array itself
+
+2007-03-22 18:00  Laurent Vivier <Laurent at lvivier.info>
+
+	* libscsi/: libscsi.h, scsi_INQUIRY.c, scsi_READ.c,
+	  scsi_READ_CAPACITY.c, scsi_REQUEST_SENSE.c,
+	  scsi_TEST_UNIT_READY.c, scsi_command.c: CDB is unsigned char and
+	  buffer is void*
+
+2007-03-22 17:45  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/: config.c, config.h: emile_l2_header.configuration is
+	  int8_t, so functions arguments must use int8_t when dealing with
+	  configuration
+
+2007-03-22 17:42  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/: misc.c, misc.h: a C string is signed char
+
+2007-03-22 17:27  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/arch.c: second argument of Gestalt() is signed long, cast
+	  unsigned parameter
+
+2007-03-22 17:22  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/font_8x16.c, apple_driver/font_8x16.c: font_get is
+	  unsigned
+
+2007-03-22 17:21  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/load.c: set variable kernel by casting with (char*)
+	  instead of (unsigned char*)
+
+2007-03-22 16:59  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/rules: modify to work on etch, identify architecture host
+	  and build with dpkg-architecture
+
+2007-03-22 16:36  Laurent Vivier <Laurent at lvivier.info>
+
+	* first/first.S, libmacos/display_properties.S, libunix/divsi3.S,
+	  libunix/modsi3.S, libunix/mulsi3.S, libunix/udivsi3.S,
+	  libunix/umodsi3.S, second/MMU030_asm.S, second/MMU040_asm.S,
+	  second/enter_kernel030.S, second/enter_kernel040.S,
+	  second/enter_kernelnoMMU.S, second/head.S,
+	  second/switch_to_PPC.S, apple_driver/head.S: change .chip to .cpu
+	  to use binutils 2.17
+
+2007-03-22 16:33  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: Add support of cross toolchain from
+	  http://www.emdebian.org/
+
+2007-02-24 15:02  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/: emile-first-tune.c, emile-map-set.c, emile-mkisofs.c,
+	  emile.c: to remove warning on signedness with gcc 4, cast some
+	  parameters
+
+2007-02-24 15:02  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/Makefile: Add -Werror
+
+2007-02-24 14:35  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/: emile_first_get_param.c, emile_first_set_param.c,
+	  emile_first_set_param_scsi.c, emile_map_bootblock_read.c,
+	  emile_map_geometry.c, emile_map_get_bootinfo.c,
+	  emile_map_get_driver_info.c, emile_map_get_driver_number.c,
+	  emile_map_get_number.c, emile_map_get_partition_geometry.c,
+	  emile_map_is_valid.c, emile_map_partition_get_flags.c,
+	  emile_map_partition_is_valid.c, emile_map_partition_set_flags.c,
+	  emile_map_read.c, emile_map_set_bootinfo.c,
+	  emile_map_set_driver_info.c, emile_map_set_driver_number.c,
+	  emile_scsi_create_container.c, emile_second_create_mapfile.c,
+	  libemile.h: to remove warning on signedness with gcc 4, cast some
+	  parameters
+
+2007-02-24 14:34  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/Makefile: Add -Werror
+
+2007-02-24 13:47  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/changelog: remove debian revision
+
+2007-02-24 12:42  Laurent Vivier <Laurent at lvivier.info>
+
+	* libiso9660/: iso9660_open.c, iso9660_opendir.c: correct cast of
+	  1st arg of isonum_733
+
+2007-02-19 16:57  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/main.c: Correct GPR[7] init
+
+2007-02-19 16:57  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/Makefile: Remove section .bootstrap from swith_to_PPC.o to
+	  be able to put the new one
+
+2007-02-17 23:39  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/Makefile: Add bootstrap section in swith_to_PPC.o instead
+	  of main.o
+
+2007-02-17 23:38  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/: enter_kernelPPC.S, enter_kernelPPC.h: use swith_to_PPC
+	  and a bootstrap to boot kernel PPC
+
+2007-02-17 23:29  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/main.c: update copyright to 2007
+
+2007-02-17 23:27  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/main.c: Add some code to use bootstrap
+
+2007-02-05 13:41  Laurent Vivier <Laurent at lvivier.info>
+
+	* apple_driver/Makefile: Add ld.script in DISTFILES
+
+2007-02-05 13:14  Laurent Vivier <Laurent at lvivier.info>
+
+	* apple_driver/Makefile: Add HEADERS vga.h console.h
+
+2007-02-05 12:52  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/Makefile: remove bootstrapPPC.h
+
+2007-02-02 23:29  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/ppc_regs.i: Define PPC registers for PPC bootstrap
+
+2007-02-02 23:27  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/Makefile: correct bootstrap dependency
+
+2007-02-02 23:21  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/bootstrapPPC.S: Add bootstrap and switch to PPC
+
+2007-02-02 23:12  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/Makefile: Add bootstrap section in main.o and copy it to
+	  second.o
+
+2007-02-02 23:10  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/ld.script: Add bootstrap section
+
+2007-02-02 21:52  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: pass PPC_CC and PPC_OBJCOPY to second Makefile
+
+2007-02-02 21:13  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/: Makefile, enter_kernel.h, load.c, main.c,
+	  switch_to_PPC.S, switch_to_PPC.h: Substract min_addr instead of
+	  PAGE_SIZE, align kernel address on PAGE_SIZE
+
+2007-02-02 21:09  Laurent Vivier <Laurent at lvivier.info>
+
+	* apple_driver/: console.c, console.h, font_8x16.c, ld.script,
+	  main.c, vga.c, vga.h: add console.c vga.c font_8x16.c ld.script
+	  main.c vga.h console.h
+
+2007-02-02 21:05  Laurent Vivier <Laurent at lvivier.info>
+
+	* apple_driver/Makefile: add console.c vga.c font_8x16.c
+
+2007-02-02 21:03  Laurent Vivier <Laurent at lvivier.info>
+
+	* apple_driver/head.S: Add relocation code
+
+2007-01-01 21:53  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/PPC_asm.S: remove unused file
+
+2007-01-01 19:51  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/: enter_kernel030.S, enter_kernel040.S,
+	  enter_kernelnoMMU.S: correct typo
+
+2006-12-30 18:30  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: re-activate powerpc support
+
+2006-12-30 18:19  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/load.c: Add support for e_machine EM_PPC
+
+2006-12-29 23:14  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/enter_kernel.c: remove bootstrap_size for ARCH_PPC
+
+2006-12-29 23:13  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/main.c: correct errors to re-activate ARCH_PPC
+
+2006-12-29 23:10  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/bootx.h: include macos/types.h
+
+2006-12-29 22:41  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: Add apple_driver in all_bin
+
+2006-12-29 21:32  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: pass the M68K_CC to the aple driver
+
+2006-12-29 21:29  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/config.c: clear command line buffer before filling it with
+	  the property
+
+2006-12-29 21:28  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/: enter_kernelPPC.h, bootx.h: remove unneeded packed
+	  attribute
+
+2006-12-29 21:27  Laurent Vivier <Laurent at lvivier.info>
+
+	* libmacos/macos/: devices.h, errors.h, events.h, files.h,
+	  gestalt.h, init.h, memory.h, osutils.h, quickdraw.h, scsi.h,
+	  slotmanager.h: add #ifdef __mc68000__ for inlined asm functions
+
+2006-12-29 21:26  Laurent Vivier <Laurent at lvivier.info>
+
+	* libmacos/macos/types.h: remove unneeded ARCH_M68K for typedef
+
+2006-11-03 13:39  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-mkisofs.c: Add default pathes for first and second
+	  level, manage some error cases
+
+2006-11-01 20:50  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: Add apple_driver-clean
+
+2006-11-01 20:48  Laurent Vivier <Laurent at lvivier.info>
+
+	* libblock/Makefile, libfloppy/Makefile, libgzip/Makefile,
+	  libiso9660/Makefile, libmacos/Makefile, libscsi/Makefile,
+	  libstream/Makefile, libunix/Makefile: Don't overwrite CFLAGS
+
+2006-11-01 18:47  Laurent Vivier <Laurent at lvivier.info>
+
+	* libscsi/scsi_open.c: On TEST_UNIT, use REQUEST_SENSE to know the
+	  device state
+
+2006-11-01 18:46  Laurent Vivier <Laurent at lvivier.info>
+
+	* libscsi/libscsi.h: TEST_UNIT_READY doesn't need buffer, add
+	  REQUEST_SENSE
+
+2006-11-01 18:44  Laurent Vivier <Laurent at lvivier.info>
+
+	* libscsi/scsi_TEST_UNIT_READY.c: TEST_UNIT_READY doesn't need
+	  buffer
+
+2006-11-01 18:43  Laurent Vivier <Laurent at lvivier.info>
+
+	* libscsi/scsi_command.c: Disable SCSIRead() if no buffer provided.
+	  Some commands, like TEST_UNIT, don't read data from device
+
+2006-11-01 18:42  Laurent Vivier <Laurent at lvivier.info>
+
+	* libscsi/: Makefile, scsi_REQUEST_SENSE.c: add REQUEST_SENSE
+
+2006-10-30 22:52  Laurent Vivier <Laurent at lvivier.info>
+
+	* libscsi/scsi_command.c: Wait bus is not busy
+
+2006-10-30 22:52  Laurent Vivier <Laurent at lvivier.info>
+
+	* libmacos/macos/: scsi.h, traps.h: Add SCSIStat()
+
+2006-10-29 00:35  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile.c: correctly set second level information
+
+2006-10-29 00:22  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/emile_first_set_param_scsi.c: remove unneeded putchar()
+
+2006-10-29 00:21  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/: Makefile, emile-first-tune.c: allow to read scsi info in
+	  first level
+
+2006-10-28 12:17  Laurent Vivier <Laurent at lvivier.info>
+
+	* libscsi/scsi_open.c: remove unused definition of memdum()
+
+2006-10-28 12:16  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/driver.c: Add unused function to list drivers if needed
+
+2006-10-27 19:16  Laurent Vivier <Laurent at lvivier.info>
+
+	* libmacos/macos/scsi.h: Add error codes for SCSI
+
+2006-10-27 19:14  Laurent Vivier <Laurent at lvivier.info>
+
+	* libscsi/scsi_open.c: Add support for non-standard (i.e. non
+	  apple) CDROM drive that doesnot gives a capacity
+
+2006-10-27 11:22  Laurent Vivier <Laurent at lvivier.info>
+
+	* libscsi/Makefile: Add scsi_TEST_UNIT_READY.c and scsi_INQUIRY.c
+
+2006-10-27 11:21  Laurent Vivier <Laurent at lvivier.info>
+
+	* libscsi/scsi_TEST_UNIT_READY.c: first revision
+
+2006-10-27 11:19  Laurent Vivier <Laurent at lvivier.info>
+
+	* libscsi/scsi_command.c: Ignore scPhaseErr on SCSIRead()
+
+2006-10-27 11:15  Laurent Vivier <Laurent at lvivier.info>
+
+	* libscsi/libscsi.h: Add scsi_TEST_UNIT_READY()
+
+2006-10-21 00:21  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/main.c: update (c) date
+
+2006-10-21 00:14  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/driver.c: Call SetInterrupt() only for Display drivers,
+	  call DrvrRemove() (why not ?)
+
+2006-10-21 00:12  Laurent Vivier <Laurent at lvivier.info>
+
+	* libmacos/macos/: devices.h, traps.h: Add DrvrRemove()
+
+2006-10-20 20:54  Laurent Vivier <Laurent at lvivier.info>
+
+	* apple_driver/Makefile: correct install
+
+2006-10-20 20:44  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: Add apple_driver in target dist
+
+2006-10-20 20:39  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: Add apple_driver install and uninstall
+
+2006-10-20 19:41  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/emile-bootblocks.install: Add apple_driver
+
+2006-10-20 19:39  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/emile.install: Add emile-mkisofs
+
+2006-10-20 19:12  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/emile_first_set_param_scsi_extents.c,
+	  libemile/libemile.h, tools/emile-first-tune.c,
+	  tools/emile-mkisofs.c: emile_first_set_param_scsi_extents() takes
+	  block size in argument
+
+2006-10-20 09:57  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-mkisofs.c: use a default size (64KiB) for driver
+	  partition, in block0 counts blocks in blocksize blocks
+
+2006-10-20 09:55  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile_scanbus.c: print size of device found in block0 using
+	  blocksise blocks instead of 512 bytes blocs, correct typo
+
+2006-10-20 09:48  Laurent Vivier <Laurent at lvivier.info>
+
+	* first/32bitmode.i: Correct CPUFlags in CPUFlag (typo)
+
+2006-10-19 20:58  Laurent Vivier <Laurent at lvivier.info>
+
+	* apple_driver/head.S: correct offset of secondary entry point
+
+2006-10-19 19:34  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: Add apple_driver
+
+2006-10-19 19:34  Laurent Vivier <Laurent at lvivier.info>
+
+	* apple_driver/: Makefile, head.S: apple_driver: initial revision
+
+2006-10-18 23:57  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile_scanbus.c: display driver type, correct driver
+	  signature
+
+2006-10-18 20:38  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile_scanbus.c: display driver signature
+
+2006-10-18 20:37  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/: Makefile, emile_map_get_driver_signature.c,
+	  libemile.h: Allow to read driver signature
+
+2006-10-18 20:13  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-mkisofs.c: Allow to not provide kernel or ramdisk
+
+2006-10-17 11:05  Laurent Vivier <Laurent at lvivier.info>
+
+	* ChangeLog: 17/10/2006 update
+
+2006-10-16 22:03  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-map-set.c: allow to read driver if block is given
+	  using 'blocksize' bytes unit instead of 512 bytes unit; extract
+	  only bootsize bytes from the driver partition
+
+2006-10-16 22:01  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-mkisofs.c: Create a more generic data structure for
+	  mkisofs, allows to write my own apple driver
+
+2006-10-16 00:08  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile_scanbus.c: Allow to find driver if base is not in
+	  block_size but using 512 bytes block
+
+2006-10-15 23:51  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/: emile_map_has_apple_driver.c, libemile.h: Add
+	  emile_is_apple_driver to test if a partition is an apple_driver
+
+2006-10-15 18:49  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/: emile_checksum.c, libemile.h: use 16bit algorithm by
+	  default, 32bit is for ATA driver
+
+2006-10-15 18:48  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/emile_scsi_get_rdev.c: correct disk number on IDE1
+
+2006-10-09 23:28  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/rules: if m68k-linux-gcc is not found, don't generate
+	  bootblocks
+
+2006-10-09 13:13  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/rules: better support of crosscompilation
+
+2006-10-09 11:20  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/rules: manage cross-compilation
+
+2006-10-08 19:55  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/rules: Modified to allow to create boot package when we
+	  cross compile
+
+2006-10-08 19:07  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: Add debian in target dist
+
+2006-10-08 19:06  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/changelog: introducing version 0.11CVS
+
+2006-10-08 19:05  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/control: on my system m68k cross-compiler is
+	  gcc-3.4-m68k-linux
+
+2006-10-08 19:04  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/Makefile: Add Makefile for target dist
+
+2006-10-08 19:04  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/Makefile: correct source file for emile-mkisofs
+
+2006-10-08 18:30  Laurent Vivier <Laurent at lvivier.info>
+
+	* debian/: changelog, compat, control, copyright,
+	  emile-bootblocks.dirs, emile-bootblocks.install,
+	  emile-bootblocks.postinst, emile.install, rules: Files for debian
+	  packaging, by Wouter Verhelst and Stephen R.Marenka
+
+2006-10-06 14:37  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/emile_scsi_get_rdev.c: correct operator priority between
+	  + and >> for IDE1
+
+2006-09-25 00:59  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-mkisofs.c:  remove definition of second driver in
+	  block0, compute some values for map of driver in 2048 block size
+
+2006-09-25 00:46  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-mkisofs.c: Read driver in memory before writing it
+
+2006-09-25 00:24  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-map-set.c: Get the partition size and write all the
+	  content of the driver partition to the file
+
+2006-09-24 00:28  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-map-set.c: Fixe temporarily size of Apple_Driver
+	  partition
+
+2006-09-24 00:13  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-mkisofs.c: Set some default value found on install CD
+	  of MacOS 7.6
+
+2006-09-24 00:09  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile_scanbus.c: Display patch info
+
+2006-09-21 23:56  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/partition.h: Add info about patch driverÃ
+
+2006-09-21 01:29  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-mkisofs.c: add iso9660:(sd3) before kernel and
+	  ramdisk path
+
+2006-09-21 01:28  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-set-cmdline.c, tools/emile.c,
+	  libemile/emile_second_set_param.c: modify
+	  emile_second_set_param() to not check if bootblock is present,
+	  checking is moving before call
+
+2006-09-21 01:08  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-mkisofs.c: Display where second level is
+
+2006-09-21 00:42  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/: Makefile, emile-mkisofs.c: emile-mkisofs.c
+
+2006-09-21 00:41  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/emile_first_set_param_scsi_extents.c: Correct lseek
+	  before writing
+
+2006-09-20 23:52  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-first-tune.c: use emile_first_set_param_scsi_extents
+
+2006-09-20 23:51  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile_scanbus.c: Display driver type using hex, not dec
+
+2006-09-20 23:49  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/emile_first_set_param_scsi.c: Allows to analyze
+	  information inside file, not at beginning
+
+2006-09-20 23:48  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/emile_map_bootblock_read.c: access bootblock from main
+	  device, not from partition
+
+2006-09-20 23:47  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/: libemile.h, Makefile,
+	  emile_first_set_param_scsi_extents.c: add
+	  emile_first_set_param_scsi_extents
+
+2006-09-20 23:45  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/partition.h: Adding some constants for driver type and
+	  driver signature
+
+2006-09-20 16:34  Laurent Vivier <Laurent at lvivier.info>
+
+	* libmacos/macos/types.h: Don't define u_int8_t, u_int16_t, etc if
+	  sys/types.h has already been included (avoid warning with gcc
+	  3.3)
+
+2006-09-15 16:55  Laurent Vivier <Laurent at lvivier.info>
+
+	* AUTHORS, ChangeLog, Makefile, README, README.floppy, README.scsi,
+	  Rules.mk, first/Makefile, first/first.S, first/floppy.i,
+	  first/macos.i, first/scsi.i, libblock/Makefile,
+	  libblock/block_close.c, libblock/block_fstat.c,
+	  libblock/block_lseek.c, libblock/block_open.c,
+	  libblock/block_read.c, libblock/libblock.h,
+	  libcontainer/Makefile, libcontainer/container_close.c,
+	  libcontainer/container_fstat.c, libcontainer/container_lseek.c,
+	  libcontainer/container_open.c, libcontainer/container_read.c,
+	  libcontainer/libcontainer.h, libemile/Makefile,
+	  libemile/bootblock.h, libemile/emile.h,
+	  libemile/emile_block0_write.c, libemile/emile_checksum.c,
+	  libemile/emile_first_get_param.c,
+	  libemile/emile_first_set_param.c,
+	  libemile/emile_first_set_param_scsi.c,
+	  libemile/emile_floppy_create_image.c,
+	  libemile/emile_map_bootblock_get_type.c,
+	  libemile/emile_map_bootblock_is_valid.c,
+	  libemile/emile_map_bootblock_read.c,
+	  libemile/emile_map_bootblock_write.c, libemile/emile_map_close.c,
+	  libemile/emile_map_dev.c, libemile/emile_map_geometry.c,
+	  libemile/emile_map_get_bootinfo.c,
+	  libemile/emile_map_get_driver_info.c,
+	  libemile/emile_map_get_driver_number.c,
+	  libemile/emile_map_get_number.c,
+	  libemile/emile_map_get_partition_geometry.c,
+	  libemile/emile_map_get_partition_name.c,
+	  libemile/emile_map_get_partition_type.c,
+	  libemile/emile_map_has_apple_driver.c,
+	  libemile/emile_map_is_valid.c, libemile/emile_map_open.c,
+	  libemile/emile_map_partition_get_flags.c,
+	  libemile/emile_map_partition_is_bootable.c,
+	  libemile/emile_map_partition_is_startup.c,
+	  libemile/emile_map_partition_is_valid.c,
+	  libemile/emile_map_partition_set_bootable.c,
+	  libemile/emile_map_partition_set_flags.c,
+	  libemile/emile_map_partition_set_startup.c,
+	  libemile/emile_map_read.c,
+	  libemile/emile_map_seek_driver_partition.c,
+	  libemile/emile_map_set_bootinfo.c,
+	  libemile/emile_map_set_driver_info.c,
+	  libemile/emile_map_set_driver_number.c,
+	  libemile/emile_map_set_partition_name.c,
+	  libemile/emile_map_set_partition_type.c,
+	  libemile/emile_map_set_startup.c, libemile/emile_map_write.c,
+	  libemile/emile_scsi_create_container.c,
+	  libemile/emile_scsi_get_dev.c, libemile/emile_scsi_get_rdev.c,
+	  libemile/emile_second_create_mapfile.c,
+	  libemile/emile_second_get_configuration.c,
+	  libemile/emile_second_get_next_property.c,
+	  libemile/emile_second_get_param.c,
+	  libemile/emile_second_get_property.c,
+	  libemile/emile_second_remove_property.c,
+	  libemile/emile_second_set_configuration.c,
+	  libemile/emile_second_set_param.c,
+	  libemile/emile_second_set_property.c, libemile/libemile.h,
+	  libemile/partition.h, libfloppy/Makefile,
+	  libfloppy/floppy_close.c, libfloppy/floppy_open.c,
+	  libfloppy/floppy_read_sector.c, libfloppy/libfloppy.h,
+	  libgzip/Makefile, libiso9660/Makefile,
+	  libiso9660/iso9660_close.c, libiso9660/iso9660_closedir.c,
+	  libiso9660/iso9660_dir_close.c, libiso9660/iso9660_fstat.c,
+	  libiso9660/iso9660_is_directory.c, libiso9660/iso9660_lseek.c,
+	  libiso9660/iso9660_mount.c, libiso9660/iso9660_open.c,
+	  libiso9660/iso9660_opendir.c, libiso9660/iso9660_read.c,
+	  libiso9660/iso9660_readdir.c, libiso9660/libiso9660.h,
+	  libmacos/CloseDriver.c, libmacos/Makefile, libmacos/OpenDriver.c,
+	  libmacos/SerGetBuf.c, libmacos/display_properties.S,
+	  libmacos/libmacos.h, libmacos/macos/devices.h,
+	  libmacos/macos/errors.h, libmacos/macos/events.h,
+	  libmacos/macos/files.h, libmacos/macos/gestalt.h,
+	  libmacos/macos/init.h, libmacos/macos/lowmem.h,
+	  libmacos/macos/memory.h, libmacos/macos/osutils.h,
+	  libmacos/macos/quickdraw.h, libmacos/macos/romdefs.h,
+	  libmacos/macos/scsi.h, libmacos/macos/serial.h,
+	  libmacos/macos/slotmanager.h, libmacos/macos/traps.h,
+	  libmacos/macos/types.h, libmacos/macos/video.h, libscsi/Makefile,
+	  libscsi/libscsi.h, libscsi/scsi_INQUIRY.c, libscsi/scsi_READ.c,
+	  libscsi/scsi_READ_CAPACITY.c, libscsi/scsi_close.c,
+	  libscsi/scsi_command.c, libscsi/scsi_get_blocksize.c,
+	  libscsi/scsi_open.c, libscsi/scsi_read_sector.c,
+	  libstream/Makefile, libstream/libstream.h,
+	  libstream/stream_close.c, libstream/stream_fstat.c,
+	  libstream/stream_lseek.c, libstream/stream_open.c,
+	  libstream/stream_read.c, libunix/Makefile, libunix/divsi3.S,
+	  libunix/free.c, libunix/malloc.c, libunix/memcpy.c,
+	  libunix/memset.c, libunix/modsi3.S, libunix/mulsi3.S,
+	  libunix/printf.c, libunix/putchar.c, libunix/puts.c,
+	  libunix/read.c, libunix/sprintf.c, libunix/strcmp.c,
+	  libunix/strcpy.c, libunix/strdup.c, libunix/strlen.c,
+	  libunix/strncmp.c, libunix/strncpy.c, libunix/udivsi3.S,
+	  libunix/umodsi3.S, libunix/write.c, second/MMU030.c,
+	  second/MMU030.h, second/MMU030_asm.S, second/MMU040.c,
+	  second/MMU040.h, second/MMU040_asm.S, second/Makefile,
+	  second/PPC_asm.S, second/arch.c, second/arch.h, second/bank.c,
+	  second/bank.h, second/bootenv.c, second/bootenv.h,
+	  second/bootinfo.c, second/bootx.c, second/cli.c, second/cli.h,
+	  second/console.c, second/console.h, second/copymem.i,
+	  second/driver.c, second/driver.h, second/enter_kernel.c,
+	  second/enter_kernel.h, second/enter_kernel030.S,
+	  second/enter_kernel030.h, second/enter_kernel040.S,
+	  second/enter_kernel040.h, second/enter_kernelPPC.S,
+	  second/enter_kernelPPC.h, second/enter_kernelnoMMU.S,
+	  second/enter_kernelnoMMU.h, second/font_8x16.c, second/head.S,
+	  second/head.h, second/keyboard.c, second/keyboard.h,
+	  second/load.c, second/load.h, second/main.c, second/misc.c,
+	  second/misc.h, second/serial.c, second/serial.h, second/vga.c,
+	  second/vga.h, tools/Makefile, tools/device.c, tools/device.h,
+	  tools/emile-first-tune.c, tools/emile-install.c,
+	  tools/emile-map-set.c, tools/emile-set-cmdline.c,
+	  tools/emile-set-output.c, tools/emile.c, tools/emile_scanbus.c,
+	  tools/iso9660_cat.c, tools/iso9660_ls.c: Change my email address
+	  to Laurent at lvivier.info
+
+2006-09-13 23:33  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-map-set.c: allow to provide disk and partition on
+	  command line (like "/dev/cdrom 1" instead of "/dev/hdc1"
+
+2006-09-13 23:32  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/: emile_scsi_get_dev.c, emile_scsi_get_rdev.c,
+	  libemile.h: Allow to identify disk on 2nd ide bus (generally
+	  cdrom (hdc) on PC)
+
+2006-09-13 22:39  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile_scanbus.c: Check map can be opened
+
+2006-09-12 02:59  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/iso9660_cat.c: base is given using block size of 2048
+	  (ISO9660), but SCSI uses block size of 512, so base is
+	  multiplicated by 4
+
+2006-09-12 02:58  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-first-tune.c: allow to set manually blocks to load
+	  for second
+
+2006-09-09 23:25  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/iso9660_cat.c: option '-i' allows to dump start base and
+	  size of given file
+
+2006-09-09 23:24  Laurent Vivier <Laurent at lvivier.info>
+
+	* libiso9660/iso9660_mount.c: Display error message if not ISO960
+	  or no Joliet format
+
+2006-09-09 00:57  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/: device.c, device.h, iso9660_cat.c, iso9660_ls.c: allow to
+	  read image file instead of /dev/cdrom
+
+2006-09-09 00:56  Laurent Vivier <Laurent at lvivier.info>
+
+	* libiso9660/Makefile: Add -g for native library
+
+2006-09-08 23:17  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-first-tune.c: Allow to define the path of the second
+	  level
+
+2006-06-06 00:35  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: Change emile-set-cmd-line interface
+
+2006-06-06 00:34  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/emile_floppy_create_image.c: is_url() becomes
+	  emile_is_url(), check if ramdisk is url too
+
+2006-06-06 00:30  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/: emile_second_get_param.c, emile_second_set_param.c:
+	  Add missing lseek()
+
+2006-06-06 00:29  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-set-cmdline.c: Remove unneeded check on parameters
+
+2006-06-02 13:45  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-set-cmdline.c: allow to kernel path, ramdisk path
+
+2006-06-02 01:36  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile.c: Add emile_secont_set_param(),
+	  emile_get_dev_name(), and preliminary ramdisk management
+
+2006-06-02 01:23  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-set-cmdline.c: use emile_second_set_param() and
+	  emile_second_get_param()
+
+2006-06-02 01:09  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/emile_second_get_property.c: clear property field if
+	  property name is not found
+
+2006-06-02 01:08  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/: Makefile, emile_second_get_param.c, libemile.h: Add
+	  emile_second_get_param()
+
+2006-06-02 01:01  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/: Makefile, emile_floppy_create_image.c, libemile.h: add
+	  emile_second_set_param
+
+2006-06-02 01:00  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/emile_second_set_param.c: create file
+
+2006-06-02 00:19  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-map-set.c: change emile_scsi_get_dev() API
+
+2006-06-02 00:18  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/libemile.h: change API of get_dev and get_rdev: return
+	  driver major number instead of device pathname, add
+	  emile_get_dev_name() and emile_is_url()
+
+2006-06-02 00:17  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/: emile_scsi_create_container.c, emile_scsi_get_dev.c,
+	  emile_scsi_get_rdev.c: change API of get_dev and get_rdev: return
+	  driver major number instead of device pathname
+
+2006-06-02 00:16  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/emile_floppy_create_image.c: export is_url() (renamed
+	  emile_is_url())
+
+2006-05-30 23:21  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-map-set.c: modified to be able to read info from an
+	  image like from a block device
+
+2006-05-30 18:21  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/emile_map_partition_set_bootable.c: correctly call
+	  emile_map_partition_set_flags()
+
+2006-05-30 18:20  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/: emile_map_bootblock_read.c,
+	  emile_map_bootblock_write.c, emile_map_open.c, partition.h: Do
+	  note limite device name to 16 characters
+
+2006-05-30 00:17  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/: emile-map-set.c, emile_scanbus.c: Allow to examine a
+	  given device
+
+2006-05-29 22:23  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile_scanbus.c: More checking on function return
+
+2006-05-29 22:18  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/: emile_map_set_bootinfo.c, emile_map_set_driver_info.c,
+	  emile_map_set_driver_number.c,
+	  emile_map_partition_set_bootable.c,
+	  emile_map_partition_set_flags.c,
+	  emile_map_partition_set_startup.c, emile_map_read.c,
+	  emile_map_get_bootinfo.c, emile_map_get_number.c,
+	  emile_map_partition_get_flags.c,
+	  emile_map_partition_is_bootable.c,
+	  emile_map_partition_is_startup.c: Manage big endian/little endian
+
+2006-05-29 21:56  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/: emile_map_get_partition_geometry.c,
+	  emile_map_is_valid.c, emile_map_geometry.c,
+	  emile_map_get_driver_info.c, emile_map_get_driver_number.c:
+	  Manage big endian/little endian
+
+2006-05-29 21:50  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/emile_map_partition_is_valid.c: Manage big endian/little
+	  endian
+
+2006-05-29 21:10  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile_scanbus.c: Allow to scan ATA bus, ignoring non
+	  allocated device (to jump from hda to hdc even if there is no
+	  hdb)
+
+2006-01-24 13:25  Laurent Vivier <Laurent at lvivier.info>
+
+	* libunix/Makefile, libscsi/Makefile, libmacos/Makefile,
+	  libcontainer/Makefile, libfloppy/Makefile, libgzip/Makefile,
+	  libiso9660/Makefile, libblock/Makefile: disable 68000 flags
+
+2005-12-12 23:31  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/: bootinfo.c, console.c, vga.c, vga.h: check result of
+	  graphic init
+
+2005-12-12 23:14  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile-set-output.c: correct floppy case
+
+2005-12-12 08:59  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: Add libfloppy for second_scsi
+
+2005-12-12 08:59  Laurent Vivier <Laurent at lvivier.info>
+
+	* tools/emile.c: correct --set-hfs
+
+2005-12-12 08:58  Laurent Vivier <Laurent at lvivier.info>
+
+	* libemile/emile_map_partition_set_bootable.c: Correct flags to
+	  make a partition bootable according to MacOS tools
+
+2005-12-08 07:34  Laurent Vivier <Laurent at lvivier.info>
+
+	* second/config.c: use get_next_property() and get_property() from
+	  libemile
+
+2005-12-08 07:33  Laurent Vivier <Laurent at lvivier.info>
+
+	* libunix/: Makefile, strdup.c: add strdup()
+
+2005-12-07 16:06  Laurent Vivier <Laurent at lvivier.info>
+
+	* Makefile: Version 0.11CVS
+
+2005-12-07 00:21  Laurent Vivier <Laurent at lvivier.info>
+
+	* docs/emile-install.sgml: remove unused parameter --buffer
+
+2005-12-05 21:11  Laurent Vivier <Laurent at lvivier.info>
+
+	* ChangeLog: real RELEASE 0.10
+
+2005-12-05 21:08  Laurent Vivier <Laurent at lvivier.info>
+
 	* libstream/Makefile: remove unneeded DISTFILES
 
-2005-12-05 20:59  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-05 20:59  Laurent Vivier <Laurent at lvivier.info>
 
 	* libcontainer/: container_open.c, container_read.c,
 	  libcontainer.h: make algorith simplier
 
-2005-12-05 20:58  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-05 20:58  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_scsi_create_container.c,
 	  emile_second_create_mapfile.c: clear mallocated memory
 
-2005-12-05 20:57  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-05 20:57  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/load.c: add 0%, check return of seek()
 
-2005-12-05 20:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-05 20:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: remove banner and some traces
 
-2005-12-05 20:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-05 20:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/enter_kernel.c: Remove traces (MMU type)
 
-2005-12-05 20:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-05 20:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-set-output.c: Can change output on second_scsi too
 
-2005-12-02 20:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-02 20:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: RELEASE Â0.10
 
-2005-12-02 20:08  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-02 20:08  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog: RELEASE 0.10
 
-2005-12-02 20:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-02 20:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/load.c: Add a progress bar
 
-2005-12-02 02:19  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-02 02:19  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/load.c: check return value of stream_read()
 
-2005-12-02 02:18  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-02 02:18  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_first_set_param_scsi.c: remove traces
 
-2005-12-02 02:17  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-02 02:17  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_second_create_mapfile.c: mapfile size is the size
 	  of the filesystem blocksize
 
-2005-12-02 01:49  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-02 01:49  Laurent Vivier <Laurent at lvivier.info>
 
 	* libcontainer/container_open.c: initialize the field device
 
-2005-12-02 01:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-02 01:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* libcontainer/: libcontainer.h, container_read.c: device is a
 	  pointer
 
-2005-12-02 01:37  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-02 01:37  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_second_create_mapfile.c: write mapfile even if it
 	  already exists
 
-2005-12-02 01:14  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-02 01:14  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: Add vga parameter by default in configuration
 
-2005-12-02 00:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-02 00:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/scsi.i: Correctly set unit id
 
-2005-12-01 23:57  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 23:57  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: remove unused buffer_size
 
-2005-12-01 23:20  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 23:20  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add libcontainer
 
-2005-12-01 23:19  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 23:19  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_first_set_param_scsi.c:  change interface of
 	  emile_scsi_create_container()
 
-2005-12-01 23:17  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 23:17  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/stream_open.c: Correct use of libcontainer
 
-2005-12-01 23:16  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 23:16  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile, libstream/Makefile: Add libcontainer
 
-2005-12-01 23:16  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 23:16  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c, libemile/libemile.h,
 	  libemile/emile_second_create_mapfile.c,
 	  libemile/emile_scsi_create_container.c:  change interface of
 	  emile_second_create_mapfile()
 
-2005-12-01 23:14  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 23:14  Laurent Vivier <Laurent at lvivier.info>
 
 	* libcontainer/: container_close.c, container_fstat.c,
 	  container_lseek.c, container_open.c, container_read.c: first
 	  revision
 
-2005-12-01 23:13  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 23:13  Laurent Vivier <Laurent at lvivier.info>
 
 	* libcontainer/Makefile: Add fstat, remove cross-compiling (other
 	  than m68k)
 
-2005-12-01 23:12  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 23:12  Laurent Vivier <Laurent at lvivier.info>
 
 	* libcontainer/libcontainer.h: Add open, read, close, lseek, fstat
 
-2005-12-01 15:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 15:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* libcontainer/Makefile: first revision
 
-2005-12-01 14:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 14:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* libiso9660/Makefile: Remove DISTFILES, set in Rules.mk
 
-2005-12-01 14:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 14:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: some cleanups for dist
 
-2005-12-01 14:51  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 14:51  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/Makefile: Add device.c gzio.c in SOURCES, device.h in
 	  HEADERS, silent dist
 
-2005-12-01 14:49  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 14:49  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add --no-print-directory, silent dist, and add several
 	  subdirs in dist
 
-2005-12-01 14:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 14:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* Rules.mk: Silent dist
 
-2005-12-01 07:16  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-12-01 07:16  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: create last.bin for cdboot-*.bin
 
-2005-11-30 17:18  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 17:18  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: clean cdboot-*.bin
 
-2005-11-30 16:34  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 16:34  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Create floppy reading files on CDROM
 
-2005-11-30 16:33  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 16:33  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_floppy_create_image.c: Manage file-by-name (url)
 	  and not -by-content
 
-2005-11-30 16:31  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 16:31  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-install.c: update copyright
 
-2005-11-30 01:54  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 01:54  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile, libgzip/Makefile, libiso9660/Makefile: Add
 	  CROSS_COMPILE
 
-2005-11-30 01:41  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 01:41  Laurent Vivier <Laurent at lvivier.info>
 
 	* Rules.mk: Correct clean MANPAGES
 
-2005-11-30 01:33  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 01:33  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: all_bin should generate second/m68k-linux-scsi/second
 
-2005-11-30 01:27  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 01:27  Laurent Vivier <Laurent at lvivier.info>
 
 	* Rules.mk, docs/Makefile: put SGML in SOURCES
 
-2005-11-30 01:20  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 01:20  Laurent Vivier <Laurent at lvivier.info>
 
 	* Rules.mk: remove trace
 
-2005-11-30 01:15  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 01:15  Laurent Vivier <Laurent at lvivier.info>
 
 	* Rules.mk: correctly extract name of module from pwd, correct
 	  problem with make dist
 
-2005-11-30 01:04  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 01:04  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/scsi.i: really set the scsi unit id for SCSISelect()
 
-2005-11-30 01:04  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 01:04  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_first_set_param_scsi.c: move to UM06
 
-2005-11-30 00:49  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 00:49  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add docs in all
 
-2005-11-30 00:46  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 00:46  Laurent Vivier <Laurent at lvivier.info>
 
 	* libcontainer/libcontainer.h: remove block_size and max_blocks,
 	  add size
 
-2005-11-30 00:46  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 00:46  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_scsi_get_dev.c: Add support for /dev/hd
 
-2005-11-30 00:44  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 00:44  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: correct typo for --map
 
-2005-11-30 00:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 00:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_second_create_mapfile.c,
 	  libemile/emile_second_set_kernel_scsi.c, tools/emile.c: move to
 	  EM06
 
-2005-11-30 00:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 00:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/Makefile: add emile_second_create_mapfile.c
 
-2005-11-30 00:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 00:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_scsi_create_container.c:  remove max_blocks form
 	  container, add it in parameters, add real file size in container
 
-2005-11-30 00:28  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-30 00:28  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/libemile.h: Add emile_second_create_mapfile(), remove
 	  emile_second_set_kernel_scsi()
 
-2005-11-29 01:21  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-29 01:21  Laurent Vivier <Laurent at lvivier.info>
 
 	* libmacos/Makefile: Remove typo (macos/header)
 
-2005-11-29 01:20  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-29 01:20  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: add docs in .PHONY
 
-2005-11-29 01:18  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-29 01:18  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: remove lowmem.h and memory.h, moved to libmacos
 
-2005-11-29 01:15  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-29 01:15  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: temporarily disable scsi creation, obsoleted by
 	  EM06
 
-2005-11-29 01:14  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-29 01:14  Laurent Vivier <Laurent at lvivier.info>
 
 	* libcontainer/libcontainer.h: moved from libemile
 
-2005-11-29 00:57  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-29 00:57  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/container.S: Obsoleted by EM06
 
-2005-11-29 00:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-29 00:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/config.c: read_line() : do not cross the the end of the
 	  configuration (0-mark), remove traces about kernel and initrd
 
-2005-11-29 00:39  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-29 00:39  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-set-output.c: Use EM06 header
 
-2005-11-29 00:21  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-29 00:21  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/console.c: add read_config_vga()
 
-2005-11-29 00:20  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-29 00:20  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: config.c, config.h, head.h, serial.c: Manage stopbits
 	  for serial, put parameters on a line alone, not inside kernel
 	  property
 
-2005-11-29 00:18  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-29 00:18  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_second_get_next_property.c,
 	  emile_second_remove_property.c, emile_second_set_property.c:
 	  correct management of end of line at end of configuration
 
-2005-11-28 22:35  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 22:35  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_second_get_next_property.c,
 	  emile_second_get_property.c, emile_second_set_property.c: Add
 	  copyright
 
-2005-11-28 22:35  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 22:35  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: Makefile, emile_second_remove_property.c, libemile.h:
 	  Add emile_second_remove_property()
 
-2005-11-28 22:19  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 22:19  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_floppy_create_image.c: Add vga parameter
 
-2005-11-28 21:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 21:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-set-cmdline.c: Manage new header (EM06)
 
-2005-11-28 21:55  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 21:55  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_second_get_next_property.c,
 	  emile_second_get_property.c, emile_second_set_property.c: Add new
 	  functions for EM06
 
-2005-11-28 21:54  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 21:54  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_second_get_configuration.c,
 	  emile_second_set_configuration.c: Check header signature
 
-2005-11-28 21:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 21:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: Makefile, emile_second_get_kernel.c, libemile.h:
 	  remove functions obsoleted by EM06, add new functions for EM06
 
-2005-11-28 13:00  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 13:00  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile.h: CVS test
 
-2005-11-28 12:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 12:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_get_uncompressed_size.c: remove function obsoleted
 	  by EM06
 
-2005-11-28 12:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 12:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_second_set_cmdline.c, emile_second_get_output.c:
 	  remove function obsoleted by EM06
 
-2005-11-28 12:49  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 12:49  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_second_get_cmdline.c, emile_second_set_output.c:
 	  remove function obsoleted by EM06
 
-2005-11-28 12:45  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 12:45  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_second_get_buffer_size.c: remove function
 	  obsoleted by EM06
 
-2005-11-28 01:20  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 01:20  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/libemile.h: remove function obsoleted by EM06
 
-2005-11-28 01:19  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 01:19  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-install.c: modified for EM06
 
-2005-11-28 01:16  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 01:16  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_second_set_buffer_size.c,
 	  emile_second_set_kernel.c: obsoleted by EM06
 
-2005-11-28 01:15  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 01:15  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/config.c: Correct case where there is no parameter for the
 	  kernel
 
-2005-11-28 00:50  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 00:50  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_floppy_create_image.c: manage if kernel/ramdisk
 	  are missing
 
-2005-11-28 00:45  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-28 00:45  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_second_get_configuration.c,
 	  emile_second_set_configuration.c, emile_floppy_create_image.c,
 	  libemile.h: EM06 header
 
-2005-11-27 23:37  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-27 23:37  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/Makefile: remove -m68000
 
-2005-11-27 23:31  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-27 23:31  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: head.h, config.c, config.h, head.S, serial.c, console.c:
 	  EM06 header type: all is stored as text
 
-2005-11-26 19:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 19:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* libiso9660/iso9660_mount.c: more gcc compliant ucs_level init
 
-2005-11-26 19:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 19:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* libunix/strtol.c: define strtol with __strol_internal
 
-2005-11-26 19:28  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 19:28  Laurent Vivier <Laurent at lvivier.info>
 
 	* libscsi/Makefile, libblock/Makefile, libfloppy/Makefile,
 	  libiso9660/Makefile, libstream/Makefile, libunix/Makefile,
 	  libgzip/Makefile: Add -m68000
 
-2005-11-26 10:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 10:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/config.c: Don't print ramdisk if NULL
 
-2005-11-26 10:21  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 10:21  Laurent Vivier <Laurent at lvivier.info>
 
 	* Rules.mk: Change librarie rules
 
-2005-11-26 10:21  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 10:21  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: remove explicit passing of make variable
 
-2005-11-26 10:02  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 10:02  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: config.c, config.h: Read configuration
 
-2005-11-26 10:01  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 10:01  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Add config.c, remove ata, add LIBS_MEDIA
 
-2005-11-26 10:00  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 10:00  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/load.c: correct print format
 
-2005-11-26 09:59  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 09:59  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: use new interface to read config and to load
 	  kernel and ramdisk
 
-2005-11-26 09:59  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 09:59  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.h: move container to libcontainer
 
-2005-11-26 09:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 09:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/Makefile:  create libstream in hard/ and floppy/
 
-2005-11-26 09:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 09:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/stream_open.c: Add *_SUPPORT #ifdef
 
-2005-11-26 09:51  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 09:51  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/gzio.c: umount only if umount exists
 
-2005-11-26 09:47  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 09:47  Laurent Vivier <Laurent at lvivier.info>
 
 	* libiso9660/Makefile: use make -C instead of cd && make
 
-2005-11-26 09:45  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 09:45  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: Makefile, libemile.h: add libcontainer and libstream
 	  include path
 
-2005-11-26 09:44  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 09:44  Laurent Vivier <Laurent at lvivier.info>
 
 	* libblock/block_read.c: Correct read_sector call (provide
 	  device->data instead of device)
 
-2005-11-26 09:43  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 09:43  Laurent Vivier <Laurent at lvivier.info>
 
 	* libblock/block_open.c: Correct size part decoding in filename
 
-2005-11-26 09:41  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 09:41  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/Makefile: add -I../libcontainer for libstream
 
-2005-11-26 09:40  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 09:40  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/minigzip.c: Add gzopen() prototype
 
-2005-11-26 09:40  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-26 09:40  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/read_vmlinuz.c: Add gzopen() prototype and correct some
 	  printf format
 
-2005-11-25 20:54  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-25 20:54  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/Makefile: Add 32mode.i, change flags management
 
-2005-11-25 20:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-25 20:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/: 32bitmode.i, first.S: Move 32bit switch to 32bitmode.i
 
-2005-11-23 23:46  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 23:46  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: use ELF kernel, add some libs...
 
-2005-11-23 23:44  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 23:44  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: correct libs ordering, add libblock
 
-2005-11-23 23:43  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 23:43  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: load.h, load.c:  correct load_ramdisk()
 
-2005-11-23 23:41  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 23:41  Laurent Vivier <Laurent at lvivier.info>
 
 	* libunix/: Makefile, strtol.c: add strtol
 
-2005-11-23 23:39  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 23:39  Laurent Vivier <Laurent at lvivier.info>
 
 	* libblock/: Makefile, block_close.c, block_fstat.c, block_lseek.c,
 	  block_open.c, block_read.c, libblock.h: first revision
 
-2005-11-23 23:37  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 23:37  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/: libstream.h, stream_open.c: Add get_size() of devices
 
-2005-11-23 23:36  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 23:36  Laurent Vivier <Laurent at lvivier.info>
 
 	* libfloppy/: Makefile, floppy_get_blocksize.c, libfloppy.h: add
 	  floppy_get_blocksize()
 
-2005-11-23 23:35  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 23:35  Laurent Vivier <Laurent at lvivier.info>
 
 	* libscsi/: Makefile, libscsi.h, scsi_get_blocksize.c:	add
 	  scsi_get_blocksize()
 
-2005-11-23 01:12  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 01:12  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/load.h: Add load_ramdisk(), remove load_image() and
 	  load_gzip()
 
-2005-11-23 01:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 01:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/load.c: Add load_ramdisk()
 
-2005-11-23 01:10  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 01:10  Laurent Vivier <Laurent at lvivier.info>
 
 	* libiso9660/: Makefile, iso9660_fstat.c, libiso9660.h: Add
 	  iso9660_fstat()
 
-2005-11-23 01:09  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 01:09  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/: Makefile, libstream.h, stream_fstat.c, stream_open.c:
 	  Add stream_fstat()
 
-2005-11-23 00:20  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 00:20  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Add libisio9660, libstream, libgzip, libfloppy,
 	  libscsi...
 
-2005-11-23 00:18  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 00:18  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/load.h:  add load_kernel()
 
-2005-11-23 00:17  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 00:17  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/load.c: Use libstream and decode ELF format
 
-2005-11-23 00:16  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 00:16  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/gzio.c: moved to libstream
 
-2005-11-23 00:14  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 00:14  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/Makefile: Add gzio.c and stream_uncompress.c
 
-2005-11-23 00:14  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 00:14  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/stream_uncompress.c: Uncompress a stream on-the-fly
 
-2005-11-23 00:14  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 00:14  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/gzio.c: moved from second/gzio.c
 
-2005-11-23 00:13  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 00:13  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/libstream.h: add stream_read(), stream_lseek() and
 	  stream_uncompress
 
-2005-11-23 00:12  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 00:12  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/stream_close.c: Check function is defined before using
 	  it
 
-2005-11-23 00:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-23 00:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/stream_open.c: Add some error strings
 
-2005-11-22 01:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-22 01:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* libscsi/: Makefile, libscsi.h, scsi_READ_CAPACITY.c, scsi_open.c:
 	  Read the capacity of the disk and the sector size
 
-2005-11-22 00:55  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-22 00:55  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/: Makefile, stream_close.c, stream_lseek.c,
 	  stream_open.c, stream_read.c: First revision
 
-2005-11-22 00:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-22 00:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* libfloppy/libfloppy.h: prevent multiple includes
 
-2005-11-22 00:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-22 00:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/libstream.h: add volume information in fs
 
-2005-11-21 23:09  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-21 23:09  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/Makefile: Add libstream
 
-2005-11-21 23:09  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-21 23:09  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/: device.c, device.h: Add libstream-like interface
 
-2005-11-21 23:07  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-21 23:07  Laurent Vivier <Laurent at lvivier.info>
 
 	* libiso9660/Makefile, libiso9660/iso9660_init.c,
 	  libiso9660/iso9660_lseek.c, libiso9660/iso9660_mount.c,
@@ -613,143 +1602,143 @@
 	  libiso9660/libiso9660.h, tools/iso9660_cat.c, tools/iso9660_ls.c:
 	  Add iso9660_VOLUME
 
-2005-11-21 23:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-21 23:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* libstream/libstream.h: first revision
 
-2005-11-21 22:58  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-21 22:58  Laurent Vivier <Laurent at lvivier.info>
 
 	* libmacos/macos/scsi.h: Add include macos/types.h
 
-2005-11-21 22:57  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-21 22:57  Laurent Vivier <Laurent at lvivier.info>
 
 	* libscsi/: scsi_close.c, scsi_open.c: Add copyright
 
-2005-11-21 22:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-21 22:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* libscsi/: libscsi.h, scsi_read_sector.c: Add scsi_device_t
 
-2005-11-21 22:55  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-21 22:55  Laurent Vivier <Laurent at lvivier.info>
 
 	* libscsi/: Makefile, scsi_close.c, scsi_open.c: Add scsi_close()
 	  and scsi_open()
 
-2005-11-21 22:50  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-21 22:50  Laurent Vivier <Laurent at lvivier.info>
 
 	* libfloppy/: floppy_close.c, floppy_open.c: Add floppy_close() and
 	  floppy_open()
 
-2005-11-21 22:26  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-21 22:26  Laurent Vivier <Laurent at lvivier.info>
 
 	* libfloppy/: Makefile, floppy_lseek.c, floppy_read.c,
 	  floppy_read_sector.c, libfloppy.h: move upperlevel function to
 	  libblock, add floppy_device_t
 
-2005-11-21 22:18  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-21 22:18  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/Makefile: Split first.S to macos.i, floppy.u, scsi.i: add
 	  -I$(TOP)
 
-2005-11-21 22:17  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-21 22:17  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/: first.S, floppy.i, macos.i, scsi.i: Split first.S to
 	  macos.i, floppy.u, scsi.i
 
-2005-11-18 01:06  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-18 01:06  Laurent Vivier <Laurent at lvivier.info>
 
 	* libfloppy/floppy_lseek.c, libfloppy/floppy_read.c,
 	  libfloppy/floppy_read_sector.c, libfloppy/libfloppy.h, Rules.mk:
 	  Add copyright
 
-2005-11-17 14:33  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-17 14:33  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/iso9660.c: moved to libscsi
 
-2005-11-17 14:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-17 14:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/Makefile: add read_vmlinuz.c
 
-2005-11-17 14:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-17 14:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/read_vmlinuz.c: uncompress and read ELF
 
-2005-11-17 07:54  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-17 07:54  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: scsi.c, scsi.h: moved to libscsi
 
-2005-11-17 07:44  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-17 07:44  Laurent Vivier <Laurent at lvivier.info>
 
 	* libscsi/: Makefile, libscsi.h, scsi_INQUIRY.c, scsi_READ.c,
 	  scsi_READ_CAPACITY.c, scsi_command.c, scsi_read_sector.c: SCSI
 	  interface
 
-2005-11-16 15:03  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-16 15:03  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/device.h: device.c header
 
-2005-11-16 15:00  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-16 15:00  Laurent Vivier <Laurent at lvivier.info>
 
 	* docs/Makefile, first/Makefile, libemile/Makefile,
 	  libfloppy/Makefile, libgzip/Makefile, libiso9660/Makefile,
 	  libmacos/Makefile, libunix/Makefile: Move some generic parts to
 	  Rules.mk
 
-2005-11-16 14:57  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-16 14:57  Laurent Vivier <Laurent at lvivier.info>
 
 	* Rules.mk: Move some generic Makefile parts
 
-2005-11-16 02:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-16 02:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: add libgzip and libfloppy
 
-2005-11-16 02:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-16 02:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* libfloppy/: Makefile, floppy_lseek.c, floppy_read.c,
 	  floppy_read_sector.c, libfloppy.h: Move floppy management to
 	  libfloppy
 
-2005-11-16 01:49  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-16 01:49  Laurent Vivier <Laurent at lvivier.info>
 
 	* libgzip/zlib.h: disable gzopen() prototype
 
-2005-11-16 01:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-16 01:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: gzio.c, inflate.c, uncompress.c, uncompress.h: move to
 	  zlib-1.2.3
 
-2005-11-15 11:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-15 11:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* libiso9660/iso9660_lseek.c: correct offset management
 
-2005-11-15 10:34  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-15 10:34  Laurent Vivier <Laurent at lvivier.info>
 
 	* libiso9660/: iso9660_fseek.c, iso9660_lseek.c, Makefile: change
 	  fseek to lseek
 
-2005-11-15 00:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-15 00:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/: gzio.c, minigzip.c: Import from zlib-1.2.3
 
-2005-11-15 00:15  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-15 00:15  Laurent Vivier <Laurent at lvivier.info>
 
 	* libgzip/: Makefile, adler32.c, crc32.c, deflate.h, inffast.c,
 	  inffast.h, inflate.c, inflate.h, inftrees.c, inftrees.h, zconf.h,
 	  zlib.h, zutil.c, zutil.h: Import from zlib-1.2.3
 
-2005-11-14 20:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-14 20:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* libiso9660/: libiso9660.h, Makefile, iso9660_open.c,
 	  iso9660_read.c: introduce best fseek() and offset management
 
-2005-11-14 20:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-14 20:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* libiso9660/iso9660_fseek.c: add fseek()
 
-2005-11-14 08:35  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-14 08:35  Laurent Vivier <Laurent at lvivier.info>
 
 	* libiso9660/iso9660_read.c: improve file access (direct i/o)
 
-2005-11-13 20:43  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-13 20:43  Laurent Vivier <Laurent at lvivier.info>
 
 	* libiso9660/Makefile, libiso9660/iso9660_init.c,
 	  libiso9660/iso9660_mount.c, libiso9660/iso9660_read.c,
@@ -757,39 +1746,39 @@
 	  tools/device.c, tools/iso9660_cat.c, tools/iso9660_ls.c,
 	  second/iso9660.c:  change device interface
 
-2005-11-12 23:35  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-12 23:35  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/iso9660.c: Add #include
 
-2005-11-12 23:33  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-12 23:33  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/iso9660.c: Add libiso9660 I/O interface
 
-2005-11-12 23:31  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-12 23:31  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add libiso9660
 
-2005-11-12 23:28  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-12 23:28  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/: iso9660_cat.c, iso9660_ls.c, Makefile, device.c: Add
 	  iso9660 tools
 
-2005-11-12 23:22  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-12 23:22  Laurent Vivier <Laurent at lvivier.info>
 
 	* libiso9660/Makefile: Add target
 
-2005-11-12 22:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-12 22:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* libunix/: strncmp.c, strncpy.c, write.c, strcmp.c, strcpy.c,
 	  strlen.c, puts.c, read.c, sprintf.c, memset.c, printf.c,
 	  putchar.c, free.c, malloc.c, memcpy.c: Add copyright
 
-2005-11-12 20:13  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-12 20:13  Laurent Vivier <Laurent at lvivier.info>
 
 	* libunix/: strcmp.c, strncmp.c, Makefile: Add strcmp() and
 	  strncmp()
 
-2005-11-12 20:12  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-12 20:12  Laurent Vivier <Laurent at lvivier.info>
 
 	* libiso9660/: Makefile, iso9660_close.c, iso9660_closedir.c,
 	  iso9660_dir_close.c, iso9660_is_directory.c, iso9660_mount.c,
@@ -797,55 +1786,55 @@
 	  iso9660_readdir.c, libiso9660.h: Read directory and files from
 	  CDROM
 
-2005-11-08 03:19  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-08 03:19  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add libmacos and libunix. move install, uninstall and
 	  dist targets to subdirs
 
-2005-11-08 03:18  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-08 03:18  Laurent Vivier <Laurent at lvivier.info>
 
 	* docs/Makefile: Add target dist
 
-2005-11-08 03:17  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-08 03:17  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/Makefile: Add targets install, uninstall and dist
 
-2005-11-08 03:16  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-08 03:16  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/Makefile: add targets install, uninstall and dist, use
 	  libmacos
 
-2005-11-08 03:16  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-08 03:16  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/bootblock.h: Move MacOS functions to libmacos
 
-2005-11-08 03:15  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-08 03:15  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Add targets dist, install and uninstall. use
 	  libs libmacos and libunix
 
-2005-11-08 03:13  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-08 03:13  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: cli.c, main.c: Move MacOS functions to libmacos, disable
 	  inline of putchar() enabled by -O2
 
-2005-11-08 03:10  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-08 03:10  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: memory.c, memory.h, printf.c, glue.S, glue.h, lowmem.h,
 	  arch.c, arch.h, bank.c, bootenv.c, console.c: Move MacOS
 	  functions to libmacos
 
-2005-11-08 03:06  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-08 03:06  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: scsi.c, serial.c, serial.h, vga.c, bootinfo.c,
 	  console.h, driver.c, driver.h, enter_kernel.c, keyboard.c,
 	  load.c, misc.h: Move MacOS functions to libmacos
 
-2005-11-08 03:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-08 03:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/Makefile: add targets install, uninstall and dist
 
-2005-11-08 03:04  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-08 03:04  Laurent Vivier <Laurent at lvivier.info>
 
 	* libunix/Makefile, libunix/divsi3.S, libunix/free.c,
 	  libunix/malloc.c, libunix/memcpy.c, libunix/memset.c,
@@ -856,7 +1845,7 @@
 	  libunix/vsprintf.c, libunix/write.c, second/misc.c: Move
 	  UNIX/POSIX/C functions to libunix
 
-2005-11-08 03:02  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-08 03:02  Laurent Vivier <Laurent at lvivier.info>
 
 	* libmacos/: macos/devices.h, macos/errors.h, macos/events.h,
 	  macos/files.h, macos/gestalt.h, macos/init.h, macos/lowmem.h,
@@ -867,1020 +1856,1020 @@
 	  display_properties.S, libmacos.h: Move MacOS functions to
 	  libmacos
 
-2005-11-04 11:20  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-04 11:20  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/driver.c: some change in paramBlock
 
-2005-11-04 11:18  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-11-04 11:18  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: glue.S, glue.h: Add VolumeParam and some 'unneeded'
 	  volume functions...
 
-2005-10-21 00:04  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-21 00:04  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add enter_kernel functions and headers
 
-2005-10-21 00:02  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-21 00:02  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Add enter_kernel.o
 
-2005-10-21 00:02  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-21 00:02  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: enter_kernel.c, enter_kernel.h: functions to enter
 	  kernel with/without MMU
 
-2005-10-21 00:01  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-21 00:01  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bank.h: define check_full_in_bank(a,b) (1) when no MMU
 
-2005-10-21 00:00  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-21 00:00  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: move some functions to enter_kernel.c
 
-2005-10-20 23:13  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-20 23:13  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: enter_kernel030.h, enter_kernel040.h,
 	  enter_kernelnoMMU.h: declare enter_kernel, end_kernel
 
-2005-10-20 23:12  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-20 23:12  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: MMU030.h, MMU040.h: Declare MMU*_disable_cache
 
-2005-10-20 23:12  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-20 23:12  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: Makefile, bank.c, bank.h, bootinfo.c, main.c: add
 	  USE_MMU, USE_MMU030, USE_MMU040
 
-2005-10-20 14:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-20 14:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU030_asm.S: Add nop in cache disable
 
-2005-10-10 23:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-10 23:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: glue.S, glue.h: Disable Slot resources functions
 
-2005-10-10 23:51  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-10 23:51  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: call turn_off_interrupts()
 
-2005-10-10 23:50  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-10 23:50  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: glue.S, glue.h: Add SGetTypeSRsrc()
 
-2005-10-10 23:42  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-10 23:42  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: driver.c, driver.h: Add turn_off_interrupts
 
-2005-10-09 15:03  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-09 15:03  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_second_set_output.c: correctly read console_mask
 
-2005-10-07 00:13  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-07 00:13  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/glue.h: cleaning
 
-2005-10-07 00:07  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-07 00:07  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: glue.S, glue.h: Add SGetCString() and SRsrcInfo()
 
-2005-10-06 23:06  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-06 23:06  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/driver.c: Add function to list drivers
 
-2005-10-06 23:03  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-10-06 23:03  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile, second/Makefile, second/driver.c, second/driver.h,
 	  second/serial.c, second/serial.h: move OpenDriver(),
 	  CloseDriver(), read(), write(), SerGetBuf() from serial.c to
 	  driver.c
 
-2005-09-23 01:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-23 01:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/lowmem.h: Add LMGetUnitTableEntryCount() and
 	  LMGetUTableBase()
 
-2005-09-23 01:04  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-23 01:04  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: misc.c, misc.h: Add p2cstring()
 
-2005-09-22 22:17  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-22 22:17  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_second_set_output.c: Add read_long()/write_long()
 	  for little/big-endian and 32-64bit
 
-2005-09-22 01:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-22 01:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: enter_kernel030.S, enter_kernel040.S,
 	  enter_kernelnoMMU.S: set netBSD flags
 
-2005-09-20 01:08  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-20 01:08  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: use second default targets instead of explicit targets
 
-2005-09-20 00:19  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-20 00:19  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/enter_kernel030.S: Add support for NetBSD (env)
 
-2005-09-20 00:15  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-20 00:15  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: enter_kernelnoMMU.S, enter_kernel040.S: Add support for
 	  NetBSD (env)
 
-2005-09-20 00:10  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-20 00:10  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: More NetBSD support
 
-2005-09-20 00:08  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-20 00:08  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.h: Define COMMAND_LINE_LENGTH
 
-2005-09-20 00:07  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-20 00:07  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: bootenv.c, bootenv.h: Set some env variables
 
-2005-09-20 00:01  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-20 00:01  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: arch.c, arch.h, bootinfo.c: move gmt_bias from
 	  bootinfo.c to arch.c
 
-2005-09-19 21:20  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-19 21:20  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Force primary target
 
-2005-09-19 21:08  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-19 21:08  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile, second/Makefile: Add support for multiple kernel type:
 	  add netBSD
 
-2005-09-19 21:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-19 21:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: bootenv.c, bootenv.h: Add netBSD boot parameters support
 
-2005-09-19 21:03  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-19 21:03  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: enter_kernel030.S, enter_kernel040.S,
 	  enter_kernelnoMMU.S, main.c: Add an entry point in enter_kernel
 	  for netBSD support
 
-2005-09-10 02:06  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-10 02:06  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_second_set_output.c, tools/emile-set-output.c:
 	  smarter --gestaltid
 
-2005-09-10 01:50  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-10 01:50  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-set-output.c: Allow to set/unset gestaltid alone
 
-2005-09-10 01:44  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-10 01:44  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: set version to 0.10CVS
 
-2005-09-07 02:49  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-07 02:49  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog, Makefile: RELEASE 0.9
 
-2005-09-07 02:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-07 02:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Correct KERNEL PANIC on IIci: move bootinfo() and
 	  set_kernel_bootinfo() after disable_cache()
 
-2005-09-05 23:16  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-05 23:16  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog: Update with cvs2cl
 
-2005-09-05 23:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-05 23:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: RAMDISK memory MUST be allocated at top of memory
 
-2005-09-05 23:10  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-05 23:10  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: bank.c, bank.h: Add malloc_top() that try to allocate
 	  memory at top of memory
 
-2005-09-05 21:36  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-05 21:36  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/cli.c: Correctly manage VT100 control characters on serial
 	  port (ignore NULL characters)
 
-2005-09-03 01:54  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-03 01:54  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: remove debug=ser from CONSOLE, add dependencie on
 	  vmlinuz for floppy_ramdisk.bin
 
-2005-09-03 01:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-03 01:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/cli.c: Manage righ arrow, left arrow and delete keys
 
-2005-09-03 01:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-03 01:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/keyboard.c: Manage correctly escape strings, GOT table is
 	  not able to manage strings pointer in an array, use a
 	  switch()/case instead
 
-2005-09-01 01:35  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-01 01:35  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: glue.S, glue.h: Add PBSyncStatus() and its serial status
 	  commands
 
-2005-09-01 01:33  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-01 01:33  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/keyboard.c: buffer_get() return 0 instead of -1 if no
 	  available character
 
-2005-09-01 01:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-09-01 01:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/serial.c: Add SerGetBuf() to know if there is available
 	  character in serial line buffer, correct serial_keypressed
 	  according serial_getchar which is returning 0 if no available
 	  character
 
-2005-08-30 17:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-30 17:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog: Update
 
-2005-08-30 10:04  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-30 10:04  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/console.c: Add serial_cursor_restore() and
 	  serial_cursor_save()
 
-2005-08-30 10:03  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-30 10:03  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: serial.c, serial.h: Add serial_cursor_save(and
 	  serial_cursor_restore(), and open serial ports for input, read
 	  character from serial ports, detect keypressed
 
-2005-08-29 14:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-29 14:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Correct rescue.bin: use compressed kernel image
 
-2005-08-28 23:42  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-28 23:42  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: cli.c, main.c: Use console_cursor_on(),
 	  console_cursor_off(), console_cursor_save(),
 	  console_cursor_restore()
 
-2005-08-28 23:41  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-28 23:41  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: console.c, console.h: Add console_cursor_on(),
 	  console_cursor_off(), console_cursor_save(),
 	  console_cursor_restore()
 
-2005-08-28 23:39  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-28 23:39  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: vga.c, vga.h: Add vga_cursor_save(), vga_cursor_save()
 	  and correct backspace
 
-2005-08-28 00:06  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-28 00:06  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add path for keyboard.[ch] and cli.[ch]
 
-2005-08-27 23:54  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-27 23:54  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-map-set.c: Correct typo in usage
 
-2005-08-27 23:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-27 23:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: disable CONSOLE
 
-2005-08-27 23:26  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-27 23:26  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Add cli.o
 
-2005-08-27 23:25  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-27 23:25  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Call cli_edit() to edit parameters
 
-2005-08-27 23:25  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-27 23:25  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add cli.h cli.c
 
-2005-08-27 23:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-27 23:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: cli.c, cli.h: Command Line Interpreter
 
-2005-08-27 20:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-27 20:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/vga.c: Add management of \b
 
-2005-08-27 20:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-27 20:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/misc.c: Add strcpy()
 
-2005-08-27 17:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-27 17:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: console.c, console.h: Manage keyboard
 
-2005-08-27 17:46  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-27 17:46  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: keyboard.c, keyboard.h: remove wait and timeout from
 	  keyboard_keypressed()
 
-2005-08-27 17:27  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-27 17:27  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: serial.c, serial.h: rename serial_get(), add
 	  serial_keypressed() skeleton
 
-2005-08-26 13:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-26 13:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/keyboard.c: Manage ctrl, remove option
 
-2005-08-26 11:26  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-26 11:26  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/keyboard.c: Call vga_cursor_refresh()
 
-2005-08-26 11:25  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-26 11:25  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: vga.c, vga.h: Add vga_cursor_refresh(), vga_cursor_on(),
 	  vga_cursor_off(): management of cursor on the display
 
-2005-08-26 09:36  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-26 09:36  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/keyboard.c: get KeyTime before reading keycode
 
-2005-08-25 23:46  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-25 23:46  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: serial.c, serial.h: Add serial_get() skeleton
 
-2005-08-25 23:45  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-25 23:45  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: keyboard.c, keyboard.h: Add escape strings and buffer
 	  management
 
-2005-08-25 13:12  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-25 13:12  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Temporarily switch to 68020
 
-2005-08-25 13:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-25 13:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: keyboard.c, keyboard.h: Add scancode conversion
 	  procedure
 
-2005-08-25 10:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-25 10:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/keyboard.h: Add scancodes definition
 
-2005-08-25 10:18  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-25 10:18  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/lowmem.h: Add KeyLast, KeyTime, KeyRepTime and Ticks
 
-2005-08-22 22:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-22 22:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/keyboard.c: Really set correctly modifiers bits
 
-2005-08-22 22:26  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-22 22:26  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/keyboard.c: Set correctly modifiers bits
 
-2005-08-22 22:19  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-22 22:19  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add keyboard.h keyboard.c and misc
 
-2005-08-22 22:18  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-22 22:18  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Add keyboard management
 
-2005-08-22 22:17  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-22 22:17  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: keyboard.c, keyboard.h: Manage keyboard
 
-2005-08-21 23:22  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-08-21 23:22  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: glue.S, glue.h: Add GetKeys()
 
-2005-06-30 10:55  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-30 10:55  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: bank.c, bank.h, lowmem.h, main.c: 68000: Set memory bank
 	  from KERNEL_LOADADDR to ScrnBase - 0x8000
 
-2005-06-30 03:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-30 03:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Add low memory offset (0x3000)
 
-2005-06-28 00:22  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-28 00:22  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: correct typo
 
-2005-06-27 22:25  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-27 22:25  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: lowmem.h, bootinfo.h, bootinfo.c: Add scc write base in
 	  bootinfo for Mac Classic
 
-2005-06-16 07:41  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-16 07:41  Laurent Vivier <Laurent at lvivier.info>
 
 	* docs/Makefile: EMILE documentation: man pages written by Stephen
 	  R. Marenka
 
-2005-06-16 07:31  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-16 07:31  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: EMILE documentation: man pages written by Stephen R.
 	  Marenka
 
-2005-06-16 07:27  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-16 07:27  Laurent Vivier <Laurent at lvivier.info>
 
 	* docs/: emile-first-tune.sgml, emile-install.sgml,
 	  emile-map-set.sgml, emile-set-cmdline.sgml,
 	  emile-set-output.sgml, emile.sgml: EMILE documentation: man pages
 	  written by Stephen R. Marenka
 
-2005-06-15 10:07  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-15 10:07  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootinfo.c: 68000: put vga_get_videobase() instead of
 	  vga_get_video() in boot_info.bi_mac.videoaddr
 
-2005-06-14 22:15  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-14 22:15  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: 68000: really set physImage to kernel address
 
-2005-06-14 21:39  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-14 21:39  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Add 68000-based macintosh support: load kernel at
 	  address 0x4000
 
-2005-06-14 21:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-14 21:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/enter_kernelnoMMU.S: set .chip 68000
 
-2005-06-13 22:18  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-13 22:18  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/enter_kernelnoMMU.S: remove ori.w   #0x0700, %sr, already
 	  deone in main()
 
-2005-06-13 22:03  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-13 22:03  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootinfo.c: Align tags on 4-byte frontier
 
-2005-06-13 20:49  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-13 20:49  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: arch.c, arch.h, bootinfo.c: move Gestalt('ram '...) from
 	  bootinfo.c to arch.c
 
-2005-06-10 23:09  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-10 23:09  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/load.c: Define some macros about floppy structure
 
-2005-06-10 23:08  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-10 23:08  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Generates 68000 compatible floppy
 
-2005-06-10 22:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-10 22:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.S: 68000 compatibility: load _GLOBAL_OFFSET_TABLE_
 
-2005-06-10 00:13  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-10 00:13  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/load.c: preliminary support of uncompress on-the-fly
 
-2005-06-10 00:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-10 00:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: uncompress.c, uncompress.h: change prototype of
 	  uncompress(): caller provide function to feed the inflate
 	  procedure
 
-2005-06-09 21:58  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-09 21:58  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: load.c, load.h, main.c: move uncompressing kernel from
 	  main.c to load.c
 
-2005-06-09 21:55  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-09 21:55  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-install.c, tools/emile.c, second/head.S,
 	  second/head.h: move to version 5 of header: kernel_size ==
 	  kernel_image_size means uncompressed
 
-2005-06-06 21:57  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-06 21:57  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog: Update
 
-2005-06-06 21:38  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-06 21:38  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU040.c: Manage RESIDENT page entry
 
-2005-06-06 21:36  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-06 21:36  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/uncompress.c: Set STATIC to static
 
-2005-06-06 21:33  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-06 21:33  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.S: GCC 3 requires BSS be cleared: it places variables
 	  initialized to 0 from DATA to BSS
 
-2005-06-06 20:15  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-06 20:15  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/inflate.c: backport fix from gzip 1.3.5
 
-2005-06-02 01:26  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-02 01:26  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: glue.S, MMU030_asm.S: save and restore registers at
 	  entry/exit of functions (detected with GCC 3)
 
-2005-06-02 00:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-06-02 00:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU040_asm.S: save and restore %d2 in MMU040_read_phys
 	  (detected with GCC 3.4)
 
-2005-05-27 00:43  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-27 00:43  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/printf.c: more gcc-3 compatibility: add putchar()
 
-2005-05-27 00:41  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-27 00:41  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog: new ChangeLog with cvs2cl
 
-2005-05-26 19:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-26 19:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: update VERSION with 0.9CVS
 
-2005-05-26 00:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-26 00:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Release 0.8
 
-2005-05-26 00:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-26 00:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Add 'ori.w #0x0700,%sr'
 
-2005-05-25 21:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-25 21:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Remove -Os, kernel doesn't boot on my LC475
 
-2005-05-25 08:41  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-25 08:41  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: enter_kernel030.S, enter_kernel040.S, enter_kernelPPC.S:
 	  remove 'ori.w #0x0700, %sr', must be made by the caller
 
-2005-05-25 08:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-25 08:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/misc.c: Really change putstring() to console_putstring()
 
-2005-05-25 08:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-25 08:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU040.c: Remove previous modification in
 	  MMU040_logical2physicalAttr()
 
-2005-05-25 08:26  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-25 08:26  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: console.c, console.h, misc.c, printf.c, uncompress.c:
 	  use console_putchar() and console_putstring() instead of
 	  putchar() and putstring() (create some problems...)
 
-2005-05-25 07:12  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-25 07:12  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Disable serial console
 
-2005-05-25 07:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-25 07:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU040.c: Correct isTTSegment() (zone size) and
 	  MMU040_logical2physicalAttr() (invalid statement)
 
-2005-05-24 02:00  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-24 02:00  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: produce 68020 as cc is bugged
 
-2005-05-24 01:03  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-24 01:03  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Produce pure 68000 binaries
 
-2005-05-24 00:27  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-24 00:27  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/arch.c: Remove NULL
 
-2005-05-24 00:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-24 00:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/arch.c: Add support for Mac Classic
 
-2005-05-24 00:22  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-24 00:22  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/glue.S: Add commnets for InitGraf()
 
-2005-05-23 22:14  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-23 22:14  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/glue.S: Add InitGraf(), detect if LMGetMainDevic() is
 	  corrupter (0xAAAAAAAA ? detected on B&W display Mac Classic)
 
-2005-05-23 22:13  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-23 22:13  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/vga.c: Add InitGraf() and detect if
 	  glue_display_properties() cannot get properties (B&W display ?
 	  seen on Mac Classic)
 
-2005-05-23 22:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-23 22:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/glue.h: Add some Quickdraw structures
 
-2005-05-23 19:10  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-23 19:10  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/printf.c: correct puts() usage, use putchar() and
 	  putstring()
 
-2005-05-23 19:09  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-23 19:09  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: console.c, console.h: replace console_put() by putchar()
 	  and console_print() by putstring()
 
-2005-05-23 19:08  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-23 19:08  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/misc.c: in error(), use puts() instead of printf()
 
-2005-05-23 19:08  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-23 19:08  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/uncompress.c: use putchar() instead of console_put()
 
-2005-05-23 01:16  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-23 01:16  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: concatenate string of EMILE and CPU type
 
-2005-05-23 01:15  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-23 01:15  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Introduce gcc-3.3 and 68020 target instead of
 	  68030
 
-2005-05-22 23:16  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-22 23:16  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: cast for entry, to support gcc 3.3
 
-2005-05-22 23:15  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-22 23:15  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: console.c, console.h: Add const to console_print() to
 	  conform to puts()
 
-2005-05-22 23:14  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-22 23:14  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: load.c, uncompress.c: Add <string.h>
 
-2005-05-22 23:12  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-22 23:12  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/printf.c:  Remove SUPPORT_68000 and add __mulsi3,
 	  __udivsi3, __divsi3, umodsi3 and modsi3 to glue.S, add puts() and
 	  putchar() to support standard include
 
-2005-05-22 23:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-22 23:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: glue.S, bootinfo.c, vga.c:  Remove SUPPORT_68000 and add
 	  __mulsi3, __udivsi3, __divsi3, umodsi3 and modsi3 to glue.S
 
-2005-05-20 02:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-20 02:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/first.S: Add Heap initialization, and 68000/68010 support
 
-2005-05-19 11:02  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-19 11:02  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/first.S: Add 68000 support
 
-2005-05-19 07:58  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-19 07:58  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/vga.c: change 68000_SUPPORT by SUPPORT_68000, correct
 	  vga_clear()
 
-2005-05-19 07:51  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-19 07:51  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: bootinfo.c, glue.S, printf.c: change 68000_SUPPORT by
 	  SUPPORT_68000
 
-2005-05-18 01:44  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-18 01:44  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootinfo.c: Add 68000 support
 
-2005-05-18 01:40  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-18 01:40  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/vga.c: Add 68000 support
 
-2005-05-18 01:36  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-18 01:36  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: printf.c, head.S: Add 68000 support
 
-2005-05-18 01:28  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-18 01:28  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/glue.S: Add 68000 support
 
-2005-05-16 23:38  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-16 23:38  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Add support of CPU without MMU
 
-2005-05-16 23:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-16 23:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add enter_kernelnoMMU.S
 
-2005-05-16 23:31  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-16 23:31  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Add enter_kernelnoMMU.S and mixed mixed mode
 	  image
 
-2005-05-16 23:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-16 23:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/enter_kernelnoMMU.S: First revision
 
-2005-05-14 03:12  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-14 03:12  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Restore RBV macintosh compatibility
 
-2005-05-14 00:36  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-14 00:36  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: enter_kernel030.S, enter_kernel040.S: move interrupt
 	  disabling from main
 
-2005-05-14 00:35  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-14 00:35  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Add BAT mapping for nubus, move interrupts
 	  deisabling to enter_kernel
 
-2005-05-14 00:02  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-14 00:02  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/enter_kernelPPC.S: disable interrupts here
 
-2005-05-14 00:01  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-14 00:01  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/enter_kernelPPC.h: change unsigned long to u_int32_t
 
-2005-05-13 19:26  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-13 19:26  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootx.h: Add bootx_infos variable
 
-2005-05-13 19:25  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-13 19:25  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: more PPC stuff, init PPC regs here
 
-2005-05-13 19:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-13 19:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/enter_kernelPPC.S: remove kernel relocation, add PPC
 	  registers copy
 
-2005-05-13 19:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-13 19:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile, second/enter_kernelPPC.h: Add enter_kernelPPC.h
 
-2005-05-12 23:57  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-12 23:57  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bank.h: Add malloc.h for size_t in malloc()
 
-2005-05-12 23:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-12 23:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootx.c: init bootx_infos structure
 
-2005-05-12 23:07  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-12 23:07  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: arch.c, arch.h: use bus types from bootx.h
 
-2005-05-12 23:06  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-12 23:06  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootx.h: Add bootx_init() prototype
 
-2005-05-12 23:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-12 23:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/enter_kernelPPC.S: Add bootx info
 
-2005-05-12 23:04  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-12 23:04  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: add casts and #ifdef
 
-2005-05-12 08:00  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-12 08:00  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: more error cases for wrong architecture
 
-2005-05-12 07:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-12 07:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Add bootx.o in ppc objects
 
-2005-05-12 07:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-12 07:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add bootx files
 
-2005-05-12 07:51  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-12 07:51  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootx.c: First revision
 
-2005-05-12 07:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-12 07:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Test all MMU types, more processor type specific
 	  code
 
-2005-05-12 07:47  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-12 07:47  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/enter_kernelPPC.S: Add processor switch to PPC
 
-2005-05-12 07:47  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-12 07:47  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/PPC_asm.S: remove PPC_disable_cache
 
-2005-05-12 07:46  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-12 07:46  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Move bootinfo.o to m68k objects
 
-2005-05-11 14:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-11 14:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootx.h: BootX infos, borrowed from linux sources
 	  include/asm-ppc/bootx.h
 
-2005-05-11 00:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-11 00:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bank.c: Correct m68k_init_memory_bank in case where there
 	  is no MMU
 
-2005-05-11 00:37  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-11 00:37  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add second stage PPC files
 
-2005-05-11 00:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-11 00:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: add missing quote
 
-2005-05-11 00:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-11 00:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Add multi-architecture support
 
-2005-05-11 00:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-11 00:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bank.c: Add missing return at end of function
 
-2005-05-11 00:03  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-11 00:03  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: PPC_asm.S, enter_kernelPPC.S: preliminary PPC support
 
-2005-05-10 23:49  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-10 23:49  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: main.c, bank.c: Add multi-architecture support
 
-2005-05-10 22:20  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-10 22:20  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile, libemile/Makefile, second/Makefile, tools/Makefile: Add
 	  CROSS_COMPILE to cross-compile tools
 
-2005-05-10 16:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-10 16:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Remove last.bin on all_bin
 
-2005-05-10 16:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-10 16:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: set RAMDISK variable
 
-2005-05-10 13:25  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-10 13:25  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: allow to build EMILE without vmlinux
 
-2005-05-10 12:51  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-10 12:51  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile, second/Makefile: Preliminary support of multitarget
 	  architecture (m68k, ppc)
 
-2005-05-10 01:37  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-10 01:37  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bank.c: Correct ppc_init_memory_map()
 
-2005-05-10 00:47  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-10 00:47  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add target netboot.bin, rescue.bin,
 	  debian-installer.bin and boot.bin
 
-2005-05-10 00:18  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-05-10 00:18  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-map-set.c: Add put_driver()
 
-2005-02-04 02:00  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-04 02:00  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add emile_map_get_bootinfo emile_map_dev emile_checksum
 	  emile_map_set_driver_number emile_map_set_driver_info
 	  emile_map_set_bootinfo emile_block0_write
 
-2005-02-04 01:51  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-04 01:51  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: Makefile, libemile.h: add emile_map_set_bootinfo,
 	  emile_map_set_driver_info, emile_map_set_driver_number,
 	  emile_block0_write
 
-2005-02-04 01:45  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-04 01:45  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_map_set_bootinfo.c, emile_map_set_driver_info.c,
 	  emile_map_set_driver_number.c: first revision
 
-2005-02-04 01:42  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-04 01:42  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/partition.h: Add DD_MAX_DRIVER, the maximum driver
 	  number in block0
 
-2005-02-04 01:41  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-04 01:41  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_block0_write.c: first revision
 
-2005-02-03 17:04  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-03 17:04  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile_scanbus.c: Add partition boot info
 
-2005-02-02 17:46  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-02 17:46  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/Makefile: add emile_scanbus to emile-map-set
 
-2005-02-02 15:47  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-02 15:47  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-map-set.c: Add --get-driver
 
-2005-02-02 15:38  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-02 15:38  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/Makefile: add emile_checksum, emile_map_get_bootinfo,
 	  emile_map_dev
 
-2005-02-02 15:33  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-02 15:33  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/libemile.h: add emile_checksum, emile_map_get_bootinfo,
 	  emile_map_dev
 
-2005-02-02 15:25  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-02 15:25  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_scsi_get_rdev.c: Manage IDE device
 
-2005-02-02 15:25  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-02 15:25  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_checksum.c, emile_map_dev.c,
 	  emile_map_get_bootinfo.c: First revision
 
-2005-02-02 00:21  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-02 00:21  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile_scanbus.c: block_size is used in drivers section
 	  (block0) otherwise use 512-byte block
 
-2005-02-01 21:34  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-01 21:34  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-map-set.c: Add --scanbus
 
-2005-02-01 21:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-01 21:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile_scanbus.c: get block_size even if we aren't in
 	  verbose mode
 
-2005-02-01 20:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-02-01 20:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile_scanbus.c: Correct drivers info when block size is
 	  not 512 (i.e. CDROM)
 
-2005-01-26 00:25  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-01-26 00:25  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: disable floppy eject for my USB floppy device, add a
 	  parameter, CONSOLE, to enable or not serial console
 
-2005-01-03 02:15  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-01-03 02:15  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog: update with PowerBook 150 bugs correction
 
-2005-01-03 02:07  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2005-01-03 02:07  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU030.c: Remove duplicate shift of logical address for
 	  DT_VALID_4_BYTE in decode_4_PD() and decode_8_PD()
 
-2004-12-31 00:42  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-31 00:42  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/serial.c: correct port 1 (printer) initialisation
 
-2004-12-31 00:06  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-31 00:06  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/vga.c: correct 2 bit depth display
 
-2004-12-30 00:46  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-30 00:46  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: set version to 0.8CVS
 
-2004-12-30 00:45  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-30 00:45  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bank.c: try to find a contiguous block until it finds or
 	  there is no more memory
 
-2004-12-30 00:43  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-30 00:43  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: don't allocate contiguous if not needed
 
-2004-12-28 00:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-28 00:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Release 0.7
 
-2004-12-28 00:07  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-28 00:07  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: add README.floppy README.scsi
 
-2004-12-28 00:06  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-28 00:06  Laurent Vivier <Laurent at lvivier.info>
 
 	* README.scsi: first revision
 
-2004-12-27 23:43  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-27 23:43  Laurent Vivier <Laurent at lvivier.info>
 
 	* README.floppy: some Howto about EMILE on a floppy
 
-2004-12-27 23:35  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-27 23:35  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/Makefile, libemile/libemile.h, Makefile,
 	  libemile/emile_map_partition_set_flags.c: Add
 	  emile_map_partition_set_flags
 
-2004-12-27 23:34  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-27 23:34  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-map-set.c: activate emile_map_partition_set_flags and
 	  emile_map_set_partition_type
 
-2004-12-27 23:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-27 23:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: correct restore and backup parameters
 
-2004-12-27 22:45  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-27 22:45  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile_scanbus.c: display bootblock info even if not
 	  bootable
 
-2004-12-27 22:39  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-27 22:39  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/Makefile, tools/emile.c, tools/emile_scanbus.c, ChangeLog,
 	  Makefile, libemile/emile_map_set_startup.c,
@@ -1889,171 +2878,171 @@
 	  libemile/libemile.h, second/container.S, tools/emile-map-set.c:
 	  replace emile-set-startup by emile-map-set
 
-2004-12-27 22:20  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-27 22:20  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-set-startup.c: moved to emile-map-set.c
 
-2004-12-27 02:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-27 02:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: correct Apple_HS and --set-hfs
 
-2004-12-27 02:31  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-27 02:31  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_map_write.c: really write...
 
-2004-12-26 21:12  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-26 21:12  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: open file on --test, check it can...
 
-2004-12-26 21:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-26 21:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_get_uncompressed_size.c: Check if file exists and
 	  is not empty
 
-2004-12-25 02:42  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-25 02:42  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_get_uncompressed_size.c: return 0 instead of -1 if
 	  file is not compressed
 
-2004-12-25 02:35  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-25 02:35  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: allow to boot with an uncompressed kernel
 
-2004-12-25 01:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-25 01:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: load.c, load.h, main.c: load_image() doesn't malloc
 	  memory anymore, we must provide the buffer
 
-2004-12-25 01:49  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-25 01:49  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_floppy_create_image.c: correct buffer size setting
 	  -> rewind file at beginning of second level
 
-2004-12-25 01:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-25 01:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-install.c: Add --getinfo
 
-2004-12-25 00:43  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-25 00:43  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-set-output.c: use getopt()
 
-2004-12-25 00:03  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-25 00:03  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/Makefile, Makefile: remove emile-first-info.c
 
-2004-12-25 00:03  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-25 00:03  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-first-info.c: Move info emile-first-tune.c
 
-2004-12-25 00:01  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-25 00:01  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-first-tune.c: use getopt(), move code from
 	  emile-first-info.c
 
-2004-12-24 23:36  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-24 23:36  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Correct a major memroy usage mismatch
 
-2004-12-24 23:35  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-24 23:35  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: use new parameters of emile-install, don't need kernel
 	  size anymore
 
-2004-12-24 23:34  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-24 23:34  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-install.c: use getopt() and
 	  emile_get_uncompressed_size()
 
-2004-12-24 22:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-24 22:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_floppy_create_image.c: Set correctly size of
 	  second level in first level
 
-2004-12-24 21:15  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-24 21:15  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add MAIN_FILES, and targets install and uninstall
 
-2004-12-24 21:12  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-24 21:12  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/: emile-set-cmdline.c, emile-set-output.c: Can work on
 	  floppy image or directly on second level binary
 
-2004-12-24 21:08  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-24 21:08  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: remove BANK_DUMP
 
-2004-12-24 01:10  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-24 01:10  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: Add usage, some parameters and set bootable HFS
 	  partition
 
-2004-12-24 00:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-24 00:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: Add set_HFS and set_startup
 
-2004-12-24 00:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-24 00:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: add all stuff to set firt level, second level and
 	  boot block, change exit values
 
-2004-12-24 00:07  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-24 00:07  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_map_bootblock_write.c: change O_RDWR to O_WRONLY
 
-2004-12-23 23:35  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-23 23:35  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: Add open_map_of() and backup_bootblock()
 
-2004-12-23 00:14  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-23 00:14  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: Add ARG_TEST, check_is_EMILE_bootblock,
 	  check_is_startup, backup_bootblock
 
-2004-12-22 23:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-22 23:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_scsi_get_rdev.c: return 0 instead of disk when ok
 
-2004-12-22 23:47  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-22 23:47  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/Makefile, libemile/libemile.h, Makefile: Add
 	  emile_get_uncompressed_size
 
-2004-12-22 23:46  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-22 23:46  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_get_uncompressed_size.c: First revision
 
-2004-12-22 11:34  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-22 11:34  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog: Release 0.6
 
-2004-12-22 01:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-22 01:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: add to LIB_FILES emile_map_has_apple_driver.c
 	  libemile/emile_map_seek_driver_partition.c
 
-2004-12-22 01:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-22 01:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: Add some args, check Apple_Driver, checj Apple_HFS
 
-2004-12-22 01:28  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-22 01:28  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile_scanbus.c: move seek_partition() to libemile
 
-2004-12-22 01:27  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-22 01:27  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: Makefile, libemile.h: add emile_map_has_apple_driver
 	  emile_map_seek_driver_partition
 
-2004-12-21 21:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 21:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_map_has_apple_driver.c,
 	  emile_map_seek_driver_partition.c: First revision
 
-2004-12-21 19:04  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 19:04  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: update TOOLS_FILES and LIB_FILES
 
-2004-12-21 19:00  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 19:00  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_map_bootblock_get_type.c,
 	  emile_map_bootblock_is_valid.c, emile_map_close.c,
@@ -2069,145 +3058,145 @@
 	  emile_map_set_partition_name.c, emile_map_set_partition_type.c:
 	  add CVSHeader
 
-2004-12-21 18:59  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 18:59  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/Makefile: emile_map_partition_get_flags.o
 	  emile_map_set_startup.o emile_scsi_get_rdev.o, change
 	  emile_partition_get_from_file.o to emile_scsi_get_dev.o
 
-2004-12-21 18:58  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 18:58  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_map_set_startup.c: Check partition type, must be
 	  Apple_HFS
 
-2004-12-21 18:57  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 18:57  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_map_write.c: Correct function name
 
-2004-12-21 18:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 18:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_scsi_create_container.c:  correct fd, use
 	  emile_scsi_get_dev()
 
-2004-12-21 18:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 18:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/libemile.h: Add emile_map_partition_get_flags,
 	  emile_scsi_get_dev, emile_map_set_startup, emile_scsi_get_rdev
 
-2004-12-21 18:41  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 18:41  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_scsi_get_dev.c: First revision
 
-2004-12-21 18:38  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 18:38  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_scsi_get_rdev.c: First revision
 
-2004-12-21 18:35  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 18:35  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile_scanbus.c: display part flags in verbose mode
 
-2004-12-21 18:35  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 18:35  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/Makefile: Add emile-set-startup
 
-2004-12-21 18:34  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 18:34  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-set-startup.c: First revision
 
-2004-12-21 17:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 17:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_map_set_startup.c: First revision
 
-2004-12-21 16:41  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 16:41  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_map_partition_get_flags.c: really return partition
 	  status...
 
-2004-12-21 16:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 16:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_map_partition_get_flags.c: First revision
 
-2004-12-21 16:17  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 16:17  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/Makefile, tools/Makefile: Add -g in CFLAGS
 
-2004-12-21 16:17  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 16:17  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_map_bootblock_read.c,
 	  emile_map_bootblock_write.c: correct partition device name
 
-2004-12-21 16:16  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-21 16:16  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile_scanbus.c: add print_size()
 
-2004-12-17 00:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-17 00:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add tools/emile_scanbus.c emile_map_get_number.c
 	  emile_map_bootblock_get_type.c, rename emile_map_*_bootblock to
 	  emile_map_bootblock_*, pass PREFIX to tools
 
-2004-12-17 00:28  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-17 00:28  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/Makefile: Add emile_scanbus and PREFIX
 
-2004-12-17 00:27  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-17 00:27  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: scanbus support
 
-2004-12-17 00:25  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-17 00:25  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_map_bootblock_get_type.c,
 	  libemile/emile_map_get_number.c, tools/emile_scanbus.c: First
 	  revision
 
-2004-12-17 00:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-17 00:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/Makefile: rename emile_map_*_bootblock to
 	  emile_map_bootblock_*, add emile_map_bootblock_get_type
 	  emile_map_get_number
 
-2004-12-17 00:22  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-17 00:22  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_map_get_partition_name.c: change prototype
 	  emile_map_get_partition_name
 
-2004-12-17 00:22  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-17 00:22  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_map_get_partition_type.c: change prototype
 	  emile_map_get_partition_type
 
-2004-12-17 00:21  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-17 00:21  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_map_open.c: first partition is 0, not 1
 
-2004-12-17 00:20  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-17 00:20  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/libemile.h: rename emile_map_*_bootblock to
 	  emile_map_bootblock_*, add bootblock IDs
 
-2004-12-17 00:20  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-17 00:20  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_map_bootblock_write.c,
 	  emile_map_bootblock_read.c: rename emile_map_*_bootblock to
 	  emile_map_bootblock_*
 
-2004-12-16 23:21  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-16 23:21  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_map_bootblock_write.c,
 	  emile_map_write_bootblock.c: rename emile_map_write_bootblock.c
 	  to emile_map_bootblock_write.c
 
-2004-12-16 23:20  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-16 23:20  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_map_bootblock_read.c,
 	  emile_map_read_bootblock.c: rename emile_map_read_bootblock.c to
 	  emile_map_bootblock_read.c
 
-2004-12-15 00:54  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-15 00:54  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: update LIB_FILES
 
-2004-12-15 00:49  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-15 00:49  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_map_bootblock_is_valid.c, emile_map_close.c,
 	  emile_map_geometry.c, emile_map_get_driver_info.c,
@@ -2224,49 +3213,49 @@
 	  emile_map_write_bootblock.c, emile_second_get_buffer_size.c,
 	  emile_second_set_buffer_size.c: First revision
 
-2004-12-15 00:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-15 00:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/Makefile: Add partition management files
 
-2004-12-15 00:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-15 00:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/libemile.h: Add partition management functions, remove
 	  buffer_size from emile_second_*_kernel functions
 
-2004-12-15 00:47  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-15 00:47  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/partition.h: add emile_map_t and partition types
 
-2004-12-14 22:49  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-14 22:49  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c, libemile/emile_floppy_create_image.c,
 	  libemile/emile_second_get_kernel.c,
 	  libemile/emile_second_set_kernel.c: use new function
 	  emile_second_set_buffer_size
 
-2004-12-14 17:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-14 17:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.h: moved to ../libemile/
 
-2004-12-13 03:12  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-13 03:12  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: set first, second and kernel parameters, it's a
 	  draft...
 
-2004-12-13 03:01  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-13 03:01  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_first_set_param_scsi.c,
 	  emile_second_set_kernel_scsi.c: print block info
 
-2004-12-13 02:59  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-13 02:59  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_scsi_create_container.c: correct numblocks in file
 
-2004-12-13 00:07  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-13 00:07  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add install and first_floppy
 
-2004-12-12 23:59  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-12 23:59  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_second_get_cmdline.c, emile_second_get_kernel.c,
 	  emile_second_get_output.c, emile_second_set_cmdline.c,
@@ -2275,72 +3264,72 @@
 	  emile_first_set_param.c, emile_first_set_param_scsi.c,
 	  emile_floppy_create_image.c: use EMILE error codes
 
-2004-12-12 23:57  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-12 23:57  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/libemile.h: Add EMILE error codes
 
-2004-12-10 01:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-10 01:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: add libemile, split DISTFILES
 
-2004-12-10 01:28  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-10 01:28  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/: Makefile, emile-first-info.c, emile-first-tune.c,
 	  emile-install.c, emile-set-cmdline.c, emile-set-output.c,
 	  emile.c: use libemile
 
-2004-12-10 01:27  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-10 01:27  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/bootblock.h: move FLOPPY_SECTOR_SIZE, FIRST_LEVEL_SIZE
 	  and get_size() to libemile.h
 
-2004-12-10 01:26  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-10 01:26  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: emile_first_set_param.c, emile_floppy_create_image.c,
 	  emile_first_get_param.c: remove file_ref
 
-2004-12-10 01:25  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-10 01:25  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_second_get_cmdline.c: correct function name
 
-2004-12-10 01:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-10 01:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_second_get_output.c: change prototype
 
-2004-12-10 01:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-10 01:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_second_set_kernel.c: rename get_size to
 	  emile_file_get_size
 
-2004-12-10 01:22  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-10 01:22  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/emile_second_set_output.c: correct prototype of
 	  emile_second_set_output
 
-2004-12-10 01:22  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-10 01:22  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/libemile.h: Add emile_file_get_size(), add
 	  emile_second_set_kernel_scsi, emile_floppy_create_image, correct
 	  emile_first_get_parami, add FLOPPY_SECTOR_SIZE and
 	  FIRST_LEVEL_SIZE
 
-2004-12-10 01:13  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-10 01:13  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/blocks.c: moved to libemile/emile_scsi_create_container.c
 
-2004-12-10 01:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-10 01:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/blocks.h: move to libemile/libemile.h
 
-2004-12-10 01:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-10 01:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-first.h: moved to libemile in bootblock.h
 
-2004-12-10 00:47  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-10 00:47  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-second.h: remove empty file
 
-2004-12-09 23:57  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-09 23:57  Laurent Vivier <Laurent at lvivier.info>
 
 	* libemile/: bootblock.h, emile.h, emile_first_get_param.c,
 	  emile_first_set_param.c, emile_first_set_param_scsi.c,
@@ -2351,476 +3340,476 @@
 	  emile_second_set_output.c, libemile.h, Makefile, partition.h:
 	  First revision
 
-2004-12-07 01:39  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-07 01:39  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: Add SCSI support for level 1
 
-2004-12-07 01:35  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-07 01:35  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/: Makefile, first.S: Add SCSI support
 
-2004-12-07 01:31  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-07 01:31  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: clean: remove second_floppy and second_scsi
 
-2004-12-03 01:37  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-03 01:37  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add tools/blocks.h in DISTFILES
 
-2004-12-03 01:35  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-03 01:35  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/blocks.h: declare scsi_create_container() for blocks.c
 
-2004-12-03 01:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-03 01:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add second/container.S tools/blocks.c tools/emile.c in
 	  DISTFILES
 
-2004-12-03 01:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-03 01:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/Makefile: Add blocks.c, emile.c to create emile
 
-2004-12-03 01:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-03 01:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile.c: Add container information of a given kernel in an
 	  appropriate second stage file
 
-2004-12-03 01:28  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-03 01:28  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/blocks.c: create container information for a given file
 
-2004-12-03 01:26  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-03 01:26  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-install.c: Allow to create a floppy image without
 	  kernel (load kernel from SCSI disk)
 
-2004-12-03 01:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-03 01:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Add container.o, remove SCSI_SUPPORT from floppy
 	  binary
 
-2004-12-03 01:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-03 01:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/container.S: first version, data for SCSI container
 
-2004-12-03 01:21  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-03 01:21  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.S: switch to EM04, add scsi support ->
 	  kernel_image_offset is container offset
 
-2004-12-03 01:20  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-03 01:20  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.h: switch EM04, add container management for SCSI
 	  support
 
-2004-12-03 01:19  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-03 01:19  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/load.c: add scsi support to load_image()
 
-2004-12-03 01:17  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-03 01:17  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/load.h: remove floppy driver number in load_image()
 	  parameters
 
-2004-12-03 01:16  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-03 01:16  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: remove floppy driver number in load_image()
 	  parameters, add base offset to kernel image offset to find
 	  container if SCSI_SUPPORT
 
-2004-12-03 01:14  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-03 01:14  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: scsi.c, scsi.h: Add scsi_READ
 
-2004-12-01 01:22  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-01 01:22  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: add floppy driver number in load_image()
 	  parameters
 
-2004-12-01 01:21  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-01 01:21  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: create two binaries, one for booting from
 	  floppy, the other from scsi disk
 
-2004-12-01 01:18  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-01 01:18  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add scsi.c and scsi.h, rename second/second to
 	  second/second_floppy
 
-2004-12-01 01:17  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-01 01:17  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: scsi.c, scsi.h: Add SCSI management
 
-2004-12-01 01:14  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-01 01:14  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: load.c, load.h: add floppy driver number in load_image()
 	  parameters
 
-2004-12-01 01:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-12-01 01:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: glue.S, glue.h: Add MacOS functions SCSIReset(),
 	  SCSIGet(), SCSISelect(), SCSIcmd(), SCSIRead() and SCSIComplete
 
-2004-10-07 21:54  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-10-07 21:54  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: 0.7CVS
 
-2004-10-07 21:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-10-07 21:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/: emile-set-output.c, emile-set-cmdline.c: more bootblock
 	  signature
 
-2004-10-07 21:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-10-07 21:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: head.h, main.c: more bootblock signatute
 
-2004-10-07 11:14  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-10-07 11:14  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.S: add _gestaltID
 
-2004-10-07 11:09  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-10-07 11:09  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: add gestaltid
 
-2004-10-07 11:07  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-10-07 11:07  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/lowmem.h: remove bad comments
 
-2004-10-07 11:06  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-10-07 11:06  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.h: add gestaltID
 
-2004-10-07 10:57  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-10-07 10:57  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.h: Add gestalt ID
 
-2004-08-19 01:19  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-08-19 01:19  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Release 0.6
 
-2004-08-19 01:17  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-08-19 01:17  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: glue.S, glue.h: Add SysError()
 
-2004-08-19 01:14  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-08-19 01:14  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.S: check result of NewPtr and invoke SysError if
 	  needed
 
-2004-08-19 01:08  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-08-19 01:08  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/vga.c: correct clear function
 
-2004-08-19 00:31  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-08-19 00:31  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/first.S: Resolve BUG# 978484 by enabling 32bit mode in PRA%
 	  when it is not
 
-2004-07-13 00:04  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-07-13 00:04  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog, Makefile: Release 0.5
 
-2004-07-12 23:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-07-12 23:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: load.c, main.c, bank.c, bank.h: Add malloc_contiguous()
 
-2004-07-10 03:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-07-10 03:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/first.S: Add some details to boot structure
 
-2004-07-10 03:28  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-07-10 03:28  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: arch.c, bootinfo.c: Manage special case for Mac SE/30
 
-2004-07-10 03:26  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-07-10 03:26  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/lowmem.h: ROMBase is a pointer to a pointer of short
 
-2004-06-25 13:21  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-25 13:21  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add tools/emile-set-output.c in DISTFILES
 
-2004-06-25 13:16  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-25 13:16  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/serial.c: Enable  serial console on request
 
-2004-06-25 13:15  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-25 13:15  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/console.c: use console mask to enable/disable vga and
 	  serial
 
-2004-06-24 02:07  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-24 02:07  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.h: add bitmask values of console_mask
 
-2004-06-24 02:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-24 02:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/: emile-set-output.c, Makefile: Add emile-set-ouput to
 	  configure output of EMILE: display or serial line
 
-2004-06-23 21:09  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-23 21:09  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: to allow serial console, move last printf before
 	  cache flush and interrupt disabling
 
-2004-06-23 19:28  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-23 19:28  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootinfo.c: Remove unused TARGET_M68K, by the way correct
 	  the bad SCC info provided to kernel
 
-2004-06-23 19:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-23 19:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/printf.c: Correct bad hexadecimal display. bug #977860
 
-2004-06-23 00:59  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-23 00:59  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/serial.c: don't use buffer
 
-2004-06-23 00:58  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-23 00:58  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/: emile-install.c, emile-set-cmdline.c: use second/head.h
 
-2004-06-23 00:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-23 00:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: add serial.[ch], vga.[ch], head.H
 
-2004-06-23 00:08  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-23 00:08  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/printf.c: Add misc.h
 
-2004-06-23 00:07  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-23 00:07  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.h: Add __HEAD_H__
 
-2004-06-23 00:07  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-23 00:07  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/misc.c: Add newline at end of error()
 
-2004-06-23 00:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-23 00:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: serial.c, serial.h: Add serial_put() and serial_init()
 
-2004-06-22 23:28  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-22 23:28  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: rename console_* to vga_*, move header struct to
 	  head.h
 
-2004-06-22 23:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-22 23:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.S: Add serial configuration information in header
 
-2004-06-22 23:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-22 23:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootinfo.c: rename video graphic adapter function from
 	  console_* to vga_*
 
-2004-06-22 23:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-22 23:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/misc.h: Add __MISC_H__
 
-2004-06-22 23:22  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-22 23:22  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Add vga.o
 
-2004-06-22 23:21  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-22 23:21  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: console.c, console.h, vga.c, vga.h: move all stuff from
 	  console.[ch] to vga.[ch]. console is now the generic entry for
 	  video graphic adapter and serial adapter, configured with
 	  emile_l2_header
 
-2004-06-22 23:19  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-22 23:19  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.h, tools/emile-second.h: Move emile_l2_header
 	  definition from tools/emile-second.h to second/head.h
 
-2004-06-22 00:47  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-22 00:47  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add serial.c and serial.h in DISTFILES
 
-2004-06-22 00:42  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-22 00:42  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/glue.h: Add all needed stuff for serial port management
 
-2004-06-22 00:41  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-22 00:41  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/glue.S: Add PBWriteSync
 
-2004-06-22 00:41  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-22 00:41  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: Add serial.o
 
-2004-06-22 00:40  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-22 00:40  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: misc.c, misc.h: Add string conversion function from C
 	  string to pascal string
 
-2004-06-22 00:39  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-22 00:39  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: serial.c, serial.h: Serial port management
 
-2004-06-18 17:37  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-18 17:37  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: glue.S, glue.h: Add PBOpenSync(), PBCloseSync(),
 	  PBControlSync()
 
-2004-06-16 23:01  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-16 23:01  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: correct relocation of enter_kernel() at end of
 	  kernel
 
-2004-06-16 19:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-16 19:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: bank.c, bank.h: add check_full_in_bank()
 
-2004-06-16 19:22  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-16 19:22  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile, second/Makefile, second/main.c: Remove obsolete
 	  KERNEL_ARCH/TARGET_???
 
-2004-06-11 22:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-11 22:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-install.c: pad size of floppy to 1440kB to be able to
 	  create floppy with MacOS Disk Copy
 
-2004-06-09 23:34  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-09 23:34  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog: Release 0.4
 
-2004-06-09 23:34  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-09 23:34  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: set version to 0.4, set kernel args
 
-2004-06-09 22:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-09 22:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: disable cache early (resolve bad ramdisk detection
 
-2004-06-09 19:34  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-09 19:34  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: MMU030_asm.S, MMU040_asm.S, main.c: Add disable_cache()
 	  for 030 and 040 (new)
 
-2004-06-09 14:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-09 14:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: MMU030_asm.S, MMU040_asm.S, Makefile, enter_kernel030.S,
 	  enter_kernel040.S: Add .chip directive
 
-2004-06-09 01:31  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-09 01:31  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: add copymem.i to DISTFILES
 
-2004-06-08 00:13  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-08 00:13  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: copymem.i, Makefile, enter_kernel030.S,
 	  enter_kernel040.S: use copymem.i to copy kernel
 
-2004-06-07 20:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-07 20:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: put enter_kernel function at end of kernel image
 	  to avoid ovelaping
 
-2004-06-07 20:51  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-07 20:51  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/load.c: Align memory allocation
 
-2004-06-07 20:51  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-07 20:51  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: enter_kernel040.S, enter_kernel030.S: align
 
-2004-06-07 20:50  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-07 20:50  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add -I elf32-big to objcopy
 
-2004-06-05 00:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-05 00:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: head.S, main.c: Pass first level parameter in a
 	  structure
 
-2004-06-04 00:59  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-04 00:59  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: add rw parameter for nfs boot
 
-2004-06-04 00:39  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-04 00:39  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: use uncompressed size instead buffer size to find
 	  end of kernel to put boot info
 
-2004-06-04 00:38  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-04 00:38  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/uncompress.c: return uncompressed size
 
-2004-06-03 21:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-03 21:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: bootinfo.c, bootinfo.h, head.S, main.c: Pass booter info
 	  by args of start()
 
-2004-06-03 13:09  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-03 13:09  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile, tools/Makefile, tools/emile-first-info.c,
 	  tools/emile-first-tune.c, tools/emile-install.c,
 	  tools/emile-set-cmdline.c: Add signature(build info)
 
-2004-06-03 11:13  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-03 11:13  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: kernel size is size of vmlinux.bin
 
-2004-06-03 10:16  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-03 10:16  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: take kernel size from uncompress(), because
 	  _kernel_size from head.S is in fact a buffer size
 
-2004-06-03 10:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-03 10:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: bootinfo.c, bootinfo.h, main.c: pass ramdisk image
 	  address by argument to bootinfo_init()
 
-2004-06-03 10:02  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-03 10:02  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: uncompress.h, uncompress.c, main.c: pass compress image
 	  address by argument to uncompress() and remove unneeded size
 
-2004-06-03 09:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-03 09:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/inflate.c: change octal to hexadecimal, correct some
 	  warnings
 
-2004-06-03 09:54  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-03 09:54  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/misc.h: add __attribute__ ((noreturn)) to error()
 
-2004-06-02 23:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-02 23:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/arch.c: Set mmu type according to cpu type when gestalt()
 	  says noMMU
 
-2004-06-02 23:10  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-02 23:10  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Correct ramdisk management
 
-2004-06-02 19:40  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-02 19:40  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/: emile-first-info.c, emile-first-tune.c, emile-first.h,
 	  emile-install.c, emile-second.h, emile.h: 64bit support
 
-2004-06-02 19:39  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-02 19:39  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/glue.h: 64bit support for tools
 
-2004-06-02 19:38  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-02 19:38  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: arch.c, bootinfo.c, console.c, load.c, memory.c: add
 	  misc.h for glue.h (for 64bit support)
 
-2004-06-02 19:37  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-02 19:37  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/misc.h: define u_int8_t, int8_t, u_int16_t, int16_t,
 	  u_int32_t, int32_t for m68k
 
-2004-06-02 00:08  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-02 00:08  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add emile-second.h in DISTFILES
 
-2004-06-02 00:00  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-02 00:00  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootinfo.c, second/ld.script, second/main.c,
 	  second/uncompress.c, second/Makefile, Makefile: floppy image is
@@ -2828,496 +3817,496 @@
 	  with emile-install. Linker cannot provide kernel size and
 	  position anymore
 
-2004-06-01 23:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-01 23:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/Makefile: add emile-install
 
-2004-06-01 23:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-01 23:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-install.c: first revision
 
-2004-06-01 17:09  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-06-01 17:09  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/: emile.h, Makefile, emile-first-info.c,
 	  emile-first-tune.c, emile-set-cmdline.c: allow to read big endian
 	  on little endian machine
 
-2004-05-27 01:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-27 01:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.S, tools/emile-second.h, tools/emile-set-cmdline.c:
 	  Enhance second stage header
 
-2004-05-26 23:59  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-26 23:59  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: load.c, load.h: load binary image from disk
 
-2004-05-26 23:41  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-26 23:41  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: misc.c, misc.h: add memdump()
 
-2004-05-26 23:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-26 23:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/glue.S: Add PBReadSync()
 
-2004-05-26 23:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-26 23:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-first-tune.c: Align size and offset to 512
 
-2004-05-26 23:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-26 23:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/glue.h, tools/emile-first.h: move ParamBlockRec from
 	  tools/emile-first.h to second/glue.h
 
-2004-05-26 20:34  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-26 20:34  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/first.S: Align correctly memory to a frontier of 4
 
-2004-05-26 20:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-26 20:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: arch.h, bootinfo.h, head.S, main.c: move some stuff from
 	  head.S to main.c
 
-2004-05-26 01:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-26 01:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: remove BASE_ADDRESS as we have relocatable code now.
 	  Size provided in first seems to be total size = offsetof(second)
 	  + sizeof(second) = sizeof(floppy.img)
 
-2004-05-26 01:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-26 01:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: arch.c, bank.c, bootinfo.c, console.c, printf.c,
 	  uncompress.c: remove unneeded init of some variables to move it
 	  back to section bss
 
-2004-05-26 01:16  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-26 01:16  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.S: arch_init must be before init_memory_map,
 	  console_init can be the first call
 
-2004-05-26 00:39  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-26 00:39  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/first.S: align(4) the allocated buffer for second
 
-2004-05-25 22:34  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-25 22:34  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/: Makefile, first.S: Allocate memory for second stage
 	  instead of using an absolute address
 
-2004-05-25 22:14  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-25 22:14  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/glue.S: correct typo
 
-2004-05-25 22:12  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-25 22:12  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: head.S, ld.script: Allocate and relocate section BSS
 
-2004-05-25 21:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-25 21:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: ld.script, lowmem.h: Use absolute address to lowmem
 	  variables
 
-2004-05-25 21:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-25 21:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: glue.S, glue.h, memory.c: Use MacOS memory Management
 
-2004-05-25 01:59  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-25 01:59  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: Makefile, head.S, ld.script: Make second level
 	  relocatable using -fpic and "GLOBAL_OFFSET_TABLE" should be
 	  improved by using -mrelpc, but this flags is only supported by
 	  gcc > 3.0 (and I use gcc 2.95)
 
-2004-05-21 17:36  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-21 17:36  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-set-cmdline.c: correct typo
 
-2004-05-21 17:06  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-21 17:06  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: use emile-first-tune
 
-2004-05-21 14:42  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-21 14:42  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/: Makefile, emile-first-tune.c: Add command to tune first
 	  level
 
-2004-05-21 12:42  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-21 12:42  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-set-cmdline.c: Allow to read current command line
 
-2004-05-21 12:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-21 12:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* tools/emile-set-cmdline.c: Move some defines to emile-first.h
 
-2004-05-21 12:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-21 12:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile, tools/Makefile, tools/emile-first-info.c,
 	  tools/emile-first.h: Add emile-first-info to see content of boot
 	  block
 
-2004-05-21 12:18  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-21 12:18  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/first.S: adjust to be more "Utilities disk" like, adjust
 	  structures to be easily tunable
 
-2004-05-19 02:09  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-19 02:09  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile, second/Makefile, second/bootinfo.c, second/head.S,
 	  tools/Makefile, tools/emile-set-cmdline.c: Allow to set kernel
 	  command line
 
-2004-05-12 01:17  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-12 01:17  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog: Release 0.3
 
-2004-05-12 01:09  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-12 01:09  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Remove only first 32KB from allocatable memory
 
-2004-05-12 01:05  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-12 01:05  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/memory.c: Display physical memory
 
-2004-05-12 01:03  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-12 01:03  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Set version to 0.3
 
-2004-05-12 01:02  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-05-12 01:02  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: I move to a debian box, and ls and awk have not
 	  the same path as on my previous Mandrake box. I decide to remove
 	  absolute path.
 
-2004-03-06 02:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-06 02:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: call 030 when 030, and 040 when 040, and not 030
 	  when 040 and 040 when 030...
 
-2004-03-06 02:10  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-06 02:10  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Add 68040 MMU support
 
-2004-03-06 02:00  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-06 02:00  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/enter_kernel040.S: really disable MMU
 
-2004-03-06 01:25  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-06 01:25  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU040.c: clean code
 
-2004-03-06 01:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-06 01:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU040_asm.S: OOOPSS, it's better if we take pointer of
 	  the address to write in on the stack, from the parameter of the
 	  function...
 
-2004-03-06 00:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-06 00:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU040.c: Add Transparent Translation management,
 	  read_physical()
 
-2004-03-06 00:55  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-06 00:55  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU030.c: correct GET_TT_ENABLE
 
-2004-03-05 23:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-05 23:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: really use BASE_ADDRESS
 
-2004-03-05 23:41  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-05 23:41  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU040.c: First 040MMU support
 
-2004-03-05 23:39  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-05 23:39  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: MMU040.h, MMU040_asm.S: rename with MMU040_
 
-2004-03-04 23:51  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-04 23:51  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add 68040 MMU support skeleton
 
-2004-03-04 23:50  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-04 23:50  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: MMU.c, MMU.h, MMU030.c, MMU030.h, MMU030_asm.S,
 	  MMU040.c, MMU040.h, MMU040_asm.S, MMU_asm.S, enter_kernel.S,
 	  enter_kernel030.S, enter_kernel040.S: add 68040 MMU support
 	  skeleton
 
-2004-03-04 23:47  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-04 23:47  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: produce 68030 AND 68040 objects
 
-2004-03-04 23:47  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-04 23:47  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bank.c: add 68040 MMU support
 
-2004-03-04 23:46  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-04 23:46  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: remove MMU.h, rename enter_kernel as
 	  enter_kernel030
 
-2004-03-04 23:42  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-03-04 23:42  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: memory.c, bootinfo.c, console.c: remove MMU.h
 
-2004-02-27 00:43  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-27 00:43  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: remove some files for second level for powerPC,
 	  move to third level
 
-2004-02-27 00:38  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-27 00:38  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: arch.c, arch.h: More bus type info
 
-2004-02-27 00:37  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-27 00:37  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootinfo.c: add TARGET_M68K for vars
 
-2004-02-26 23:57  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-26 23:57  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: MMU.c, MMU.h: prefix functions with MMU_
 
-2004-02-26 23:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-26 23:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: bank.c, bank.h: Manage noMMU and powerPC
 
-2004-02-26 23:55  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-26 23:55  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootinfo.c: Move machine identification (cpu, mmu, fpu,
 	  architecture, bus) to arch.[ch]
 
-2004-02-26 23:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-26 23:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/glue.h: Add define noErr
 
-2004-02-26 23:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-26 23:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.S: Identify machine in arch_init()
 
-2004-02-26 23:51  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-26 23:51  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Add a skeleton of powerPC support
 
-2004-02-26 23:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-26 23:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: arch.c, arch.h: Add header
 
-2004-02-26 21:12  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-26 21:12  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/Makefile: add arch.o, and -DTARGET_PPC or -DTARGET_M68K
 
-2004-02-26 21:11  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-26 21:11  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add second/arch.[ch] in DISTFILES
 
-2004-02-26 21:10  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-26 21:10  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: arch.c, arch.h: Use Gestalt() to know property of
 	  curring system, including powerPC or 680x0 native architecture
 	  type
 
-2004-02-26 12:19  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-26 12:19  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: switch to 0.3CVS
 
-2004-02-24 23:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-24 23:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU.h: Remove TRACE_MMU
 
-2004-02-24 23:41  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-24 23:41  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Set Release 0.2
 
-2004-02-24 23:40  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-24 23:40  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog: 24 Feb 2004
 
-2004-02-24 23:31  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-24 23:31  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootinfo.c: Get Time and GMT from MacOS
 
-2004-02-24 23:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-24 23:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: glue.S, glue.h: Add ReadLocation(MachineLocation)
 
-2004-02-24 23:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-24 23:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: ld.script, lowmem.h: Add Time to get time from MacOS
 
-2004-02-24 22:27  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-24 22:27  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Cleaning
 
-2004-02-24 00:51  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-24 00:51  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootinfo.c: RAM disk address must be physical address
 
-2004-02-24 00:38  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-24 00:38  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: I decide: no need of KERNEL_ARCH in first level
 
-2004-02-24 00:37  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-24 00:37  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog:  24 Feb 2004
 
-2004-02-24 00:34  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-24 00:34  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: works with RBV mac ! thank you penguin... very
 	  messy: FIX ME !
 
-2004-02-24 00:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-24 00:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/enter_kernel.S: Add 3rd parameter to set destination
 	  address to copy kernel
 
-2004-02-24 00:31  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-24 00:31  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bootinfo.c: create boot_info[].memory like in the penguin
 	  (bigger first, physical memory blocs)
 
-2004-02-24 00:29  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-24 00:29  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bank.c: let bank_dump() for debug purpose only, activate
 	  it with BANK_DUMP macro
 
-2004-02-23 01:24  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-23 01:24  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: bank.c, bank.h: Add bank_mem_avail(): compute size of
 	  available memory
 
-2004-02-23 01:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-23 01:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/memory.c: Try to allocate memory to not have a bloc across
 	  two banks, correct management of top memory, and low memory
 
-2004-02-23 01:21  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-23 01:21  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/enter_kernel.S: cosmetic change, remove disabling
 	  interrupts and cache:moved to caller
 
-2004-02-23 01:20  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-23 01:20  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Disable interrupts, correct entry_t
 
-2004-02-21 02:56  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-21 02:56  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/console.h: re-add console_get_height()
 
-2004-02-21 02:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-21 02:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU.h: Add MMU_set_trace()
 
-2004-02-21 02:51  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-21 02:51  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/enter_kernel.S: reenable MMU desabling
 
-2004-02-21 02:51  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-21 02:51  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/enter_kernel.S: add end_enter_kernel, unify a2/a0
 
-2004-02-21 02:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-21 02:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/bank.c: Add logical address to compute bank linits
 
-2004-02-21 02:47  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-21 02:47  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: console.c, console.h, glue.S, glue.h: Add real video
 	  base address instead of computed one (with bounds)
 
-2004-02-21 02:43  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-21 02:43  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Try to boot on RBV system
 
-2004-02-21 02:21  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-21 02:21  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU.c: Correct bad table address evaluation
 
-2004-02-21 01:48  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-21 01:48  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU.c: Add dynamic trace, TT registers management
 
-2004-02-19 14:14  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-19 14:14  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Add second/bank.[ch] in DISTFILES
 
-2004-02-19 14:09  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-19 14:09  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: bank.c, bank.h, main.c, memory.c: Rename map to
 	  memory_map and export it
 
-2004-02-19 12:34  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-19 12:34  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog, second/Makefile, second/bank.c, second/bank.h,
 	  second/bootinfo.c, second/main.c, second/memory.c,
 	  second/memory.h: add bank.[ch], move memory bank management into
 	  them
 
-2004-02-17 23:57  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-17 23:57  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog: 17 Feb 2004
 
-2004-02-17 23:55  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-17 23:55  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/main.c: Correct typo
 
-2004-02-17 23:52  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-17 23:52  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: bootinfo.c, main.c, memory.c, memory.h: Add logical
 	  address in bank information
 
-2004-02-17 23:09  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-17 23:09  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU.c: correct computing of physical address
 
-2004-02-17 22:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-17 22:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU.c: correct LIMIT management in decode_8_PD()
 
-2004-02-17 21:53  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-17 21:53  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/MMU.c: add TRACE(), correct Table Indices extraction in
 	  decode_[48]_PD()
 
-2004-02-17 11:32  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-17 11:32  Laurent Vivier <Laurent at lvivier.info>
 
 	* ChangeLog: [no log message]
 
-2004-02-17 11:30  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-17 11:30  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: MMU.c, MMU.h: Add dump_MMU_table() correct 8byte table
 	  scan
 
-2004-02-17 11:26  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-17 11:26  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/: main.c, bootinfo.c: move call to get_memory_mep() to
 	  memory.c
 
-2004-02-17 11:25  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-17 11:25  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/memory.h: export memory_map
 
-2004-02-17 11:23  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-17 11:23  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/memory.c: we generate memory_map here
 
-2004-02-17 11:09  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-17 11:09  Laurent Vivier <Laurent at lvivier.info>
 
 	* second/head.S: Move call of bootinfo_init after memory_init (use
 	  memory_map)
 
-2004-02-17 11:06  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-17 11:06  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: Detect architecture (PPC or 68K) of kernel
 
-2004-02-16 16:04  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-16 16:04  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile: update VERSION with 0.2CVS
 
-2004-02-16 16:04  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-16 16:04  Laurent Vivier <Laurent at lvivier.info>
 
 	* first/: Makefile, config.h: config.h is a generated file: -
 	  remove it from CVS - "make clean" removes it
 
-2004-02-15 21:46  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-15 21:46  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile, AUTHORS, COPYING, ChangeLog, README, second/MMU.c,
 	  second/head.S, second/MMU.h, second/MMU_asm.S, second/Makefile,
@@ -3329,7 +4318,7 @@
 	  first/first.S, second/bootinfo.c, second/enter_kernel.S,
 	  second/glue.S, second/glue.h, second/memory.h: First release 0.1
 
-2004-02-15 21:46  Laurent Vivier <LaurentVivier at wanadoo.fr>
+2004-02-15 21:46  Laurent Vivier <Laurent at lvivier.info>
 
 	* Makefile, AUTHORS, COPYING, ChangeLog, README, second/MMU.c,
 	  second/head.S, second/MMU.h, second/MMU_asm.S, second/Makefile,

Modified: branches/vendor/emile/Makefile
===================================================================
--- branches/vendor/emile/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,23 +1,25 @@
 #
-#  (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+#  (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
 #
 #
 
 MAKEFLAGS += --no-print-directory
 
 PACKAGE	= emile
-VERSION	= 0.10
+VERSION	= 0.11
 
 PREFIX=/
 
 # kernel boot arguments
 
-FLOPPY=/dev/floppy/0
+#FLOPPY=/dev/floppy/0
+FLOPPY=/dev/sda
 #CONSOLE=console=ttyS0,9600n8 console=tty0
 
 NETBOOT_ARGS="root=/dev/nfs ip=dhcp rw $(CONSOLE)"
 RESCUE_ARGS="root=/dev/ramdisk ramdisk_size=2048 $(CONSOLE)"
 CDBOOT_ARGS="root=/dev/ramdisk ramdisk_size=13000 $(CONSOLE)"
+CDBOOT_ARGS26="root=/dev/ram ramdisk_size=13000 $(CONSOLE)"
 INSTALLER_ARGS="prompt_ramdisk=1 load_ramdisk=1 ramdisk_start=0 root=/dev/fd0 ramdisk_size=4096 $(CONSOLE)"
 BOOT_ARGS="root=/dev/sda4 $(CONSOLE)"
 
@@ -41,7 +43,16 @@
 
 ifneq ($(ARCH),m68k)
 M68K_CROSS_COMPILE	= m68k-linux-
+M68K_GCC_VERSION=$(shell $(M68K_CROSS_COMPILE)gcc -dumpversion 2> /dev/null)
+ifeq ($(M68K_GCC_VERSION), )
+  M68K_CROSS_COMPILE	= m68k-linux-gnu-
+  M68K_GCC_VERSION=$(shell $(M68K_CROSS_COMPILE)gcc -dumpversion 2> /dev/null)
 endif
+ifeq ($(M68K_GCC_VERSION), )
+$(error Cannot find m68k cross-compiler $(M68K_GCC_VERSION))
+endif
+$(info m68k cross-compiler is $(M68K_CROSS_COMPILE)gcc $(M68K_GCC_VERSION))
+endif
 
 M68K_AS=$(M68K_CROSS_COMPILE)as
 M68K_CC=$(M68K_CROSS_COMPILE)gcc
@@ -50,13 +61,23 @@
 M68K_STRIP=$(M68K_CROSS_COMPILE)strip
 
 ifneq ($(ARCH),ppc)
-PPC_CROSS_COMPILE	= ppc-linux-
+PPC_CROSS_COMPILE	= powerpc-linux-
+PPC_GCC_VERSIONS		= $(shell $(PPC_CROSS_COMPILE)gcc -dumpversion 2> /dev/null)
+ifeq ($(PPC_GCC_VERSION), )
+  PPC_CROSS_COMPILE	= powerpc-linux-gnu-
+  PPC_GCC_VERSION=$(shell $(PPC_CROSS_COMPILE)gcc -dumpversion 2> /dev/null)
 endif
+ifeq ($(PPC_GCC_VERSION), )
+    $(error Cannot find ppc cross-compiler $(PPC_GCC_VERSION))
+endif
+$(info ppc cross-compiler is $(PPC_CROSS_COMPILE)gcc $(PPC_GCC_VERSION))
+endif
 
 PPC_AS=$(PPC_CROSS_COMPILE)as
 PPC_CC=$(PPC_CROSS_COMPILE)gcc
 PPC_LD=$(PPC_CROSS_COMPILE)ld
 PPC_OBJCOPY=$(PPC_CROSS_COMPILE)objcopy
+PPC_STRIP=$(PPC_CROSS_COMPILE)strip
 
 # Kernel architecture
 
@@ -70,23 +91,28 @@
 	ifeq ($(findstring PowerPC, $(FILEARCH)), PowerPC)
 
 		KARCH=ppc
+		KSTRIP=$(PPC_STRIP)
 
 	else
 	ifeq ($(findstring Motorola 68000, $(FILEARCH)), Motorola 68000)
 
 		KARCH=classic
+		KSTRIP=$(M68K_STRIP)
 
 	else
 	ifeq ($(findstring Motorola 68, $(FILEARCH)), Motorola 68)
 
 		KARCH=m68k
+		KSTRIP=$(M68K_STRIP)
 	else
 		KARCH=unknown
+		KSTRIP=$(M68K_STRIP)
 	endif
 	endif
 	endif
 else
 	KARCH=m68k
+	KSTRIP=$(M68K_STRIP)
 endif
 
 # Target
@@ -96,27 +122,24 @@
        uninstall tools-uninstall first-uninstall docs-uninstall \
        clean libemile-clean libmacos-clean libunix-clean tools-clean \
        first-clean second-clean docs-clean libiso9660-clean libgzip-clean \
-       libfloppy-clean libscsi-clean libstream-clean libblock-clean dist docs
+       libfloppy-clean libscsi-clean libstream-clean libblock-clean dist docs \
+       apple_driver apple_driver_clean
 
 all: docs libemile libblock libiso9660 libiso9660-m68k libgzip-m68k \
      tools first libstream libcontainer \
      second/$(KARCH)-linux-floppy/second \
-     second/$(KARCH)-linux-scsi/second second/m68k-netbsd-floppy/second
+     second/$(KARCH)-linux-scsi/second second/m68k-netbsd-floppy/second \
+     apple_driver
 
-# We can build floppy image only if a kernel is provided
+ALL_BIN = cdboot-sarge.bin cdboot-woody.bin cdboot-etch.bin
 
-ifeq ($(LINUX),$(LINUXPATH))
-all_bin: netboot.bin rescue.bin debian-installer.bin boot.bin \
-	 cdboot-sarge.bin cdboot-woody.bin second/$(KARCH)-linux-scsi/second
-	rm -f last.bin
-
 cdboot-woody.bin: tools first second/$(KARCH)-linux-scsi/second
 	tools/emile-install -f first/first_floppy \
 			    -s second/$(KARCH)-linux-scsi/second \
 			    -k "iso9660:(sd3)/install/mac/linux.bin" \
 			    -r "iso9660:(sd3)/install/mac/root.bin" \
 			    cdboot-woody.bin.X
-	tools/emile-set-cmdline cdboot-woody.bin.X $(CDBOOT_ARGS)
+	tools/emile-set-cmdline -a $(CDBOOT_ARGS) cdboot-woody.bin.X
 	mv cdboot-woody.bin.X cdboot-woody.bin
 	rm -f last.bin
 	ln -s cdboot-woody.bin last.bin
@@ -127,11 +150,28 @@
 			-k "iso9660:(sd3)/install/kernels/vmlinuz-2.2.25-mac" \
 			-r "iso9660:(sd3)/install/cdrom/initrd22.gz" \
 			    cdboot-sarge.bin.X
-	tools/emile-set-cmdline cdboot-sarge.bin.X $(CDBOOT_ARGS)
+	tools/emile-set-cmdline -a $(CDBOOT_ARGS) cdboot-sarge.bin.X
 	mv cdboot-sarge.bin.X cdboot-sarge.bin
 	rm -f last.bin
 	ln -s cdboot-sarge.bin last.bin
 
+cdboot-etch.bin: tools first second/$(KARCH)-linux-scsi/second
+	tools/emile-install -f first/first_floppy \
+			-s second/$(KARCH)-linux-scsi/second \
+			-k "iso9660:(sd3)/install/kernels/vmlinuz-2.6.18-4-mac"\
+			-r "iso9660:(sd3)/install/cdrom/initrd.gz" \
+			    cdboot-etch.bin.X
+	tools/emile-set-cmdline -a $(CDBOOT_ARGS26) cdboot-etch.bin.X
+	mv cdboot-etch.bin.X cdboot-etch.bin
+	rm -f last.bin
+	ln -s cdboot-etch.bin last.bin
+
+# We can build floppy image only if a kernel is provided
+
+ifeq ($(LINUX),$(LINUXPATH))
+
+ALL_BIN += netboot.bin rescue.bin debian-installer.bin boot.bin second/$(KARCH)-linux-scsi/second
+
 floppy.bin: tools first vmlinuz \
 	    second/$(KARCH)-linux-floppy/second
 	tools/emile-install -f first/first_floppy \
@@ -155,33 +195,33 @@
 debian-installer.bin: floppy.bin
 	rm -f last.bin
 	cp floppy.bin debian-installer.bin.X
-	tools/emile-set-cmdline debian-installer.bin.X $(INSTALLER_ARGS)
+	tools/emile-set-cmdline -a $(INSTALLER_ARGS) debian-installer.bin.X
 	mv debian-installer.bin.X debian-installer.bin
 	ln -s debian-installer.bin last.bin
 
 netboot.bin: floppy.bin
 	rm -f last.bin
 	cp floppy.bin netboot.bin.X
-	tools/emile-set-cmdline netboot.bin.X $(NETBOOT_ARGS)
+	tools/emile-set-cmdline -a $(NETBOOT_ARGS) netboot.bin.X
 	mv netboot.bin.X netboot.bin
 	ln -s netboot.bin last.bin
 
 rescue.bin: floppy_ramdisk.bin
 	rm -f last.bin
 	cp floppy_ramdisk.bin rescue.bin.X
-	tools/emile-set-cmdline rescue.bin.X $(RESCUE_ARGS)
+	tools/emile-set-cmdline -a $(RESCUE_ARGS) rescue.bin.X
 	mv rescue.bin.X rescue.bin
 	ln -s rescue.bin last.bin
 
 boot.bin: floppy.bin
 	rm -f last.bin
 	cp floppy.bin boot.bin.X
-	tools/emile-set-cmdline boot.bin.X $(BOOT_ARGS)
+	tools/emile-set-cmdline -a $(BOOT_ARGS) boot.bin.X
 	mv boot.bin.X boot.bin
 	ln -s boot.bin last.bin
 
 vmlinuz: $(LINUX)
-	$(M68K_STRIP) -s $(LINUX) -o $(LINUX).stripped
+	$(KSTRIP) -s $(LINUX) -o $(LINUX).stripped
 	gzip -9 $(LINUX).stripped
 	mv $(LINUX).stripped.gz vmlinuz
 endif
@@ -204,28 +244,37 @@
 netbsd-boot.bin: netbsd-floppy.bin
 	rm -f last.bin
 	cp netbsd-floppy.bin netbsd-boot.bin.X
-	tools/emile-set-cmdline netbsd-boot.bin.X $(BOOT_ARGS)
+	tools/emile-set-cmdline -a $(BOOT_ARGS) netbsd-boot.bin.X
 	mv netbsd-boot.bin.X netbsd-boot.bin
 	ln -s netbsd-boot.bin last.bin
 
 netbsd.gz: $(NETBSD)
-	$(M68K_STRIP) -s $(NETBSD) -o $(NETBSD).stripped
+	$(KSTRIP) -s $(NETBSD) -o $(NETBSD).stripped
 	gzip -9 $(NETBSD).stripped
 	mv $(NETBSD).stripped.gz netbsd.gz
 endif
 
+all_bin: $(ALL_BIN)
+	rm -f last.bin
+
 export SIGNATURE VERSION DESTDIR PREFIX KARCH CROSS_COMPILE
 
 first::
 	$(MAKE) -C first OBJCOPY=$(M68K_OBJCOPY) AS=$(M68K_AS)
 
+apple_driver::
+	$(MAKE) -C apple_driver OBJCOPY=$(M68K_OBJCOPY) AS=$(M68K_AS) \
+		LD=$(M68K_LD) CC=$(M68K_CC)
+
 second/$(KARCH)-linux-floppy/second:: libmacos libunix libiso9660-m68k libgzip-m68k libfloppy libscsi libstream libblock libcontainer
 	$(MAKE) -C second OBJCOPY=$(M68K_OBJCOPY) LD=$(M68K_LD) CC=$(M68K_CC) \
-		AS=$(M68K_AS) MEDIA=floppy TARGET=$(KARCH)-linux
+		AS=$(M68K_AS) PPC_OBJCOPY=$(PPC_OBJCOPY) PPC_CC=$(PPC_CC) \
+		MEDIA=floppy TARGET=$(KARCH)-linux
 
-second/$(KARCH)-linux-scsi/second:: libmacos libunix libiso9660-m68k libgzip-m68k libscsi libstream libblock libcontainer
+second/$(KARCH)-linux-scsi/second:: libmacos libunix libiso9660-m68k libgzip-m68k libfloppy libscsi libstream libblock libcontainer
 	$(MAKE) -C second OBJCOPY=$(M68K_OBJCOPY) LD=$(M68K_LD) CC=$(M68K_CC) \
-		AS=$(M68K_AS) TARGET=$(KARCH)-linux MEDIA=scsi
+		AS=$(M68K_AS) PPC_OBJCOPY=$(PPC_OBJCOPY) PPC_CC=$(PPC_CC) \
+		TARGET=$(KARCH)-linux MEDIA=scsi
 
 second/m68k-netbsd-floppy/second:: libmacos libunix libiso9660-m68k libgzip-m68k libfloppy libstream libblock libcontainer
 	$(MAKE) -C second OBJCOPY=$(M68K_OBJCOPY) LD=$(M68K_LD) CC=$(M68K_CC) \
@@ -295,13 +344,19 @@
 docs-uninstall::
 	$(MAKE) -C docs uninstall
 
+apple_driver-install::
+	$(MAKE) -C apple_driver install
+
+apple_driver-uninstall::
+	$(MAKE) -C apple_driver uninstall
+
 docs::
 	$(MAKE) -C docs all
 
 dump: last.bin
 	dd if=last.bin of=$(FLOPPY) bs=512
 
-install: tools-install first-install second-install docs-install
+install: tools-install first-install second-install docs-install apple_driver-install
 
 uninstall: tools-uninstall first-uninstall second-uninstall docs-uninstall
 
@@ -349,9 +404,13 @@
 libfloppy-clean:
 	$(MAKE) -C libfloppy clean
 
+apple_driver-clean:
+	$(MAKE) -C apple_driver clean
+
 clean:: libemile-clean libmacos-clean libunix-clean tools-clean first-clean \
 	second-clean docs-clean libiso9660-clean libgzip-clean libfloppy-clean \
-	libscsi-clean libstream-clean libblock-clean libcontainer-clean
+	libscsi-clean libstream-clean libblock-clean libcontainer-clean \
+	apple_driver-clean
 	rm -f floppy.bin floppy.bin.X floppy_ramdisk.bin \
 	      floppy_ramdisk.bin.X rescue.bin rescue.bin.X \
 	      debian-installer.bin debian-installer.bin.X \
@@ -379,6 +438,8 @@
 	@$(MAKE) -C libcontainer dist DISTDIR=$(shell pwd)/$(PACKAGE)-$(VERSION)
 	@$(MAKE) -C libgzip dist DISTDIR=$(shell pwd)/$(PACKAGE)-$(VERSION)
 	@$(MAKE) -C tools dist DISTDIR=$(shell pwd)/$(PACKAGE)-$(VERSION)
+	@$(MAKE) -C debian dist DISTDIR=$(shell pwd)/$(PACKAGE)-$(VERSION)
+	@$(MAKE) -C apple_driver dist DISTDIR=$(shell pwd)/$(PACKAGE)-$(VERSION)
 	@echo TAR emile
 	@for file in $(DISTFILES); do \
 		dir=$$(dirname $$file); \

Modified: branches/vendor/emile/README
===================================================================
--- branches/vendor/emile/README	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/README	2007-04-11 20:23:39 UTC (rev 186)
@@ -27,5 +27,5 @@
 and ethernet card sonic.
 
 Have fun
-Laurent Vivier <LaurentVivier at wanadoo.fr>
+Laurent Vivier <Laurent at lvivier.info>
 11 Fevrier 2004 ;-)

Modified: branches/vendor/emile/README.floppy
===================================================================
--- branches/vendor/emile/README.floppy	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/README.floppy	2007-04-11 20:23:39 UTC (rev 186)
@@ -89,4 +89,4 @@
 	# emile-set-cmdline /dev/fd0 "root=/dev/ramdisk ramdisk_size=2048"
 	
 --------------------------------------------------------------------------------
-Laurent Vivier <LaurentVivier at wanadoo.fr>
+Laurent Vivier <Laurent at lvivier.info>

Modified: branches/vendor/emile/README.scsi
===================================================================
--- branches/vendor/emile/README.scsi	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/README.scsi	2007-04-11 20:23:39 UTC (rev 186)
@@ -126,4 +126,4 @@
 
 And now, you can start linux in less than 2 seconds...
 
-Laurent Vivier <LaurentVivier at wanadoo.fr>
+Laurent Vivier <Laurent at lvivier.info>

Modified: branches/vendor/emile/Rules.mk
===================================================================
--- branches/vendor/emile/Rules.mk	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/Rules.mk	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,5 +1,5 @@
 #
-#  (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+#  (c) 2005 Laurent Vivier <Laurent at lvivier.info>
 #
 
 OBJS	= $(patsubst %.sgml,%.8.gz,$(patsubst %.S,%.o,$(SOURCES:.c=.o)))

Added: branches/vendor/emile/apple_driver/Makefile
===================================================================
--- branches/vendor/emile/apple_driver/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/apple_driver/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,52 @@
+#
+#
+# (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
+#
+#
+
+TOP	= $(shell pwd)
+VPATH	= $(TOP)
+
+CPPFLAGS = -DARCH_M68K -I$(TOP)/../libmacos -Wa,-I$(TOP)/../libmacos
+
+ASFLAGS = -I$(TOP)
+
+CFLAGS	+= $(OPT_CFLAGS) -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar -fpic -O2
+LIBS	= -L$(TOP)/../libunix -lunix -L$(TOP)/../libmacos -lmacos
+
+SOURCES	= head.S main.c console.c vga.c font_8x16.c
+
+HEADERS = vga.h console.h
+
+PROGRAMS	= apple_driver
+
+CLEAN		= apple_driver.o 
+
+.PHONY: all
+
+all: apple_driver
+
+include $(TOP)/../Rules.mk
+
+DISTFILES	+= ld.script
+
+apple_driver: apple_driver.o
+	$(OBJCOPY) -j .text -j .data -j .rodata -j .got \
+			-O binary apple_driver.o apple_driver
+
+apple_driver.o:	$(OBJS) ld.script
+	$(LD) -T ld.script -o apple_driver.o $(OBJS) $(LIBS)
+
+.S.o:
+	$(AS) $(ASFLAGS) -o $@ $^
+
+.c.o:
+	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $^
+
+install::
+	install -d $(DESTDIR)/$(PREFIX)/lib/emile/
+	install apple_driver $(DESTDIR)/$(PREFIX)/lib/emile/apple_driver
+
+uninstall::
+	rm -f $(DESTDIR)/$(PREFIX)/lib/emile/apple_driver
+

Added: branches/vendor/emile/apple_driver/console.c
===================================================================
--- branches/vendor/emile/apple_driver/console.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/apple_driver/console.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,31 @@
+/*
+ * 
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
+ *
+ */
+
+#include <stdio.h>
+
+#include <macos/lowmem.h>
+
+#include "console.h"
+#include "vga.h"
+
+void
+console_init()
+{
+	vga_init();
+}
+
+int console_putchar(int c)
+{
+	vga_put(c);
+
+	return c;
+}
+
+void console_putstring(const char *s)
+{
+	while(*s)
+                console_putchar(*(s++));
+}

Added: branches/vendor/emile/apple_driver/console.h
===================================================================
--- branches/vendor/emile/apple_driver/console.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/apple_driver/console.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,15 @@
+/*
+ *
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
+ *
+ */
+
+#ifndef __CONSOLE_H__
+#define __CONSOLE_H__
+
+#include <macos/types.h>
+
+extern void console_init(void);
+extern inline int console_putchar(int c);
+extern void console_putstring(const char *s);
+#endif

Added: branches/vendor/emile/apple_driver/font_8x16.c
===================================================================
--- branches/vendor/emile/apple_driver/font_8x16.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/apple_driver/font_8x16.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,4624 @@
+/*
+ * file from linux 2.4.23 source tree
+ * /usr/src/linux/drivers/video/font_8x16.c
+ *
+ * Modified by (c) Laurent Vivier <Laurent at lvivier.info>
+ *
+ */
+
+static unsigned char fontdata_8x16[] = {
+
+	/* 0 0x00 '^@' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 1 0x01 '^A' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7e, /* 01111110 */
+	0x81, /* 10000001 */
+	0xa5, /* 10100101 */
+	0x81, /* 10000001 */
+	0x81, /* 10000001 */
+	0xbd, /* 10111101 */
+	0x99, /* 10011001 */
+	0x81, /* 10000001 */
+	0x81, /* 10000001 */
+	0x7e, /* 01111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 2 0x02 '^B' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7e, /* 01111110 */
+	0xff, /* 11111111 */
+	0xdb, /* 11011011 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xc3, /* 11000011 */
+	0xe7, /* 11100111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0x7e, /* 01111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 3 0x03 '^C' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x6c, /* 01101100 */
+	0xfe, /* 11111110 */
+	0xfe, /* 11111110 */
+	0xfe, /* 11111110 */
+	0xfe, /* 11111110 */
+	0x7c, /* 01111100 */
+	0x38, /* 00111000 */
+	0x10, /* 00010000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 4 0x04 '^D' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x10, /* 00010000 */
+	0x38, /* 00111000 */
+	0x7c, /* 01111100 */
+	0xfe, /* 11111110 */
+	0x7c, /* 01111100 */
+	0x38, /* 00111000 */
+	0x10, /* 00010000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 5 0x05 '^E' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x3c, /* 00111100 */
+	0xe7, /* 11100111 */
+	0xe7, /* 11100111 */
+	0xe7, /* 11100111 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 6 0x06 '^F' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x7e, /* 01111110 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0x7e, /* 01111110 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 7 0x07 '^G' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x3c, /* 00111100 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 8 0x08 '^H' */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xe7, /* 11100111 */
+	0xc3, /* 11000011 */
+	0xc3, /* 11000011 */
+	0xe7, /* 11100111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+
+	/* 9 0x09 '^I' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00111100 */
+	0x66, /* 01100110 */
+	0x42, /* 01000010 */
+	0x42, /* 01000010 */
+	0x66, /* 01100110 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 10 0x0a '^J' */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xc3, /* 11000011 */
+	0x99, /* 10011001 */
+	0xbd, /* 10111101 */
+	0xbd, /* 10111101 */
+	0x99, /* 10011001 */
+	0xc3, /* 11000011 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+
+	/* 11 0x0b '^K' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x1e, /* 00011110 */
+	0x0e, /* 00001110 */
+	0x1a, /* 00011010 */
+	0x32, /* 00110010 */
+	0x78, /* 01111000 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x78, /* 01111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 12 0x0c '^L' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00111100 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x3c, /* 00111100 */
+	0x18, /* 00011000 */
+	0x7e, /* 01111110 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 13 0x0d '^M' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x3f, /* 00111111 */
+	0x33, /* 00110011 */
+	0x3f, /* 00111111 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x70, /* 01110000 */
+	0xf0, /* 11110000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 14 0x0e '^N' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7f, /* 01111111 */
+	0x63, /* 01100011 */
+	0x7f, /* 01111111 */
+	0x63, /* 01100011 */
+	0x63, /* 01100011 */
+	0x63, /* 01100011 */
+	0x63, /* 01100011 */
+	0x67, /* 01100111 */
+	0xe7, /* 11100111 */
+	0xe6, /* 11100110 */
+	0xc0, /* 11000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 15 0x0f '^O' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0xdb, /* 11011011 */
+	0x3c, /* 00111100 */
+	0xe7, /* 11100111 */
+	0x3c, /* 00111100 */
+	0xdb, /* 11011011 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 16 0x10 '^P' */
+	0x00, /* 00000000 */
+	0x80, /* 10000000 */
+	0xc0, /* 11000000 */
+	0xe0, /* 11100000 */
+	0xf0, /* 11110000 */
+	0xf8, /* 11111000 */
+	0xfe, /* 11111110 */
+	0xf8, /* 11111000 */
+	0xf0, /* 11110000 */
+	0xe0, /* 11100000 */
+	0xc0, /* 11000000 */
+	0x80, /* 10000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 17 0x11 '^Q' */
+	0x00, /* 00000000 */
+	0x02, /* 00000010 */
+	0x06, /* 00000110 */
+	0x0e, /* 00001110 */
+	0x1e, /* 00011110 */
+	0x3e, /* 00111110 */
+	0xfe, /* 11111110 */
+	0x3e, /* 00111110 */
+	0x1e, /* 00011110 */
+	0x0e, /* 00001110 */
+	0x06, /* 00000110 */
+	0x02, /* 00000010 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 18 0x12 '^R' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x7e, /* 01111110 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x7e, /* 01111110 */
+	0x3c, /* 00111100 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 19 0x13 '^S' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x00, /* 00000000 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 20 0x14 '^T' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7f, /* 01111111 */
+	0xdb, /* 11011011 */
+	0xdb, /* 11011011 */
+	0xdb, /* 11011011 */
+	0x7b, /* 01111011 */
+	0x1b, /* 00011011 */
+	0x1b, /* 00011011 */
+	0x1b, /* 00011011 */
+	0x1b, /* 00011011 */
+	0x1b, /* 00011011 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 21 0x15 '^U' */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0x60, /* 01100000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x6c, /* 01101100 */
+	0x38, /* 00111000 */
+	0x0c, /* 00001100 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 22 0x16 '^V' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0xfe, /* 11111110 */
+	0xfe, /* 11111110 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 23 0x17 '^W' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x7e, /* 01111110 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x7e, /* 01111110 */
+	0x3c, /* 00111100 */
+	0x18, /* 00011000 */
+	0x7e, /* 01111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 24 0x18 '^X' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x7e, /* 01111110 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 25 0x19 '^Y' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x7e, /* 01111110 */
+	0x3c, /* 00111100 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 26 0x1a '^Z' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x0c, /* 00001100 */
+	0xfe, /* 11111110 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 27 0x1b '^[' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0xfe, /* 11111110 */
+	0x60, /* 01100000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 28 0x1c '^\' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 29 0x1d '^]' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x28, /* 00101000 */
+	0x6c, /* 01101100 */
+	0xfe, /* 11111110 */
+	0x6c, /* 01101100 */
+	0x28, /* 00101000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 30 0x1e '^^' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x10, /* 00010000 */
+	0x38, /* 00111000 */
+	0x38, /* 00111000 */
+	0x7c, /* 01111100 */
+	0x7c, /* 01111100 */
+	0xfe, /* 11111110 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 31 0x1f '^_' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0xfe, /* 11111110 */
+	0x7c, /* 01111100 */
+	0x7c, /* 01111100 */
+	0x38, /* 00111000 */
+	0x38, /* 00111000 */
+	0x10, /* 00010000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 32 0x20 ' ' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 33 0x21 '!' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x3c, /* 00111100 */
+	0x3c, /* 00111100 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 34 0x22 '"' */
+	0x00, /* 00000000 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x24, /* 00100100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 35 0x23 '#' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0xfe, /* 11111110 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0xfe, /* 11111110 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 36 0x24 '$' */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc2, /* 11000010 */
+	0xc0, /* 11000000 */
+	0x7c, /* 01111100 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x86, /* 10000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 37 0x25 '%' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc2, /* 11000010 */
+	0xc6, /* 11000110 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0xc6, /* 11000110 */
+	0x86, /* 10000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 38 0x26 '&' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0x38, /* 00111000 */
+	0x76, /* 01110110 */
+	0xdc, /* 11011100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x76, /* 01110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 39 0x27 ''' */
+	0x00, /* 00000000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 40 0x28 '(' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+	0x0c, /* 00001100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 41 0x29 ')' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 42 0x2a '*' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x66, /* 01100110 */
+	0x3c, /* 00111100 */
+	0xff, /* 11111111 */
+	0x3c, /* 00111100 */
+	0x66, /* 01100110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 43 0x2b '+' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x7e, /* 01111110 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 44 0x2c ',' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 45 0x2d '-' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 46 0x2e '.' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 47 0x2f '/' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x02, /* 00000010 */
+	0x06, /* 00000110 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0xc0, /* 11000000 */
+	0x80, /* 10000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 48 0x30 '0' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xd6, /* 11010110 */
+	0xd6, /* 11010110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x6c, /* 01101100 */
+	0x38, /* 00111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 49 0x31 '1' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x38, /* 00111000 */
+	0x78, /* 01111000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x7e, /* 01111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 50 0x32 '2' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0x06, /* 00000110 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0xc0, /* 11000000 */
+	0xc6, /* 11000110 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 51 0x33 '3' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x3c, /* 00111100 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 52 0x34 '4' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x0c, /* 00001100 */
+	0x1c, /* 00011100 */
+	0x3c, /* 00111100 */
+	0x6c, /* 01101100 */
+	0xcc, /* 11001100 */
+	0xfe, /* 11111110 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x1e, /* 00011110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 53 0x35 '5' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xfc, /* 11111100 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 54 0x36 '6' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x60, /* 01100000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xfc, /* 11111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 55 0x37 '7' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0xc6, /* 11000110 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 56 0x38 '8' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 57 0x39 '9' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7e, /* 01111110 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x0c, /* 00001100 */
+	0x78, /* 01111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 58 0x3a ':' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 59 0x3b ';' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 60 0x3c '<' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x06, /* 00000110 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+	0x0c, /* 00001100 */
+	0x06, /* 00000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 61 0x3d '=' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7e, /* 01111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7e, /* 01111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 62 0x3e '>' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x60, /* 01100000 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+	0x0c, /* 00001100 */
+	0x06, /* 00000110 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 63 0x3f '?' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 64 0x40 '@' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xde, /* 11011110 */
+	0xde, /* 11011110 */
+	0xde, /* 11011110 */
+	0xdc, /* 11011100 */
+	0xc0, /* 11000000 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 65 0x41 'A' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x10, /* 00010000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xfe, /* 11111110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 66 0x42 'B' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfc, /* 11111100 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x7c, /* 01111100 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0xfc, /* 11111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 67 0x43 'C' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00111100 */
+	0x66, /* 01100110 */
+	0xc2, /* 11000010 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc2, /* 11000010 */
+	0x66, /* 01100110 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 68 0x44 'D' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xf8, /* 11111000 */
+	0x6c, /* 01101100 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x6c, /* 01101100 */
+	0xf8, /* 11111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 69 0x45 'E' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0x66, /* 01100110 */
+	0x62, /* 01100010 */
+	0x68, /* 01101000 */
+	0x78, /* 01111000 */
+	0x68, /* 01101000 */
+	0x60, /* 01100000 */
+	0x62, /* 01100010 */
+	0x66, /* 01100110 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 70 0x46 'F' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0x66, /* 01100110 */
+	0x62, /* 01100010 */
+	0x68, /* 01101000 */
+	0x78, /* 01111000 */
+	0x68, /* 01101000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0xf0, /* 11110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 71 0x47 'G' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00111100 */
+	0x66, /* 01100110 */
+	0xc2, /* 11000010 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xde, /* 11011110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x66, /* 01100110 */
+	0x3a, /* 00111010 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 72 0x48 'H' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xfe, /* 11111110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 73 0x49 'I' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00111100 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 74 0x4a 'J' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x1e, /* 00011110 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x78, /* 01111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 75 0x4b 'K' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xe6, /* 11100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x6c, /* 01101100 */
+	0x78, /* 01111000 */
+	0x78, /* 01111000 */
+	0x6c, /* 01101100 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0xe6, /* 11100110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 76 0x4c 'L' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xf0, /* 11110000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x62, /* 01100010 */
+	0x66, /* 01100110 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 77 0x4d 'M' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0xee, /* 11101110 */
+	0xfe, /* 11111110 */
+	0xfe, /* 11111110 */
+	0xd6, /* 11010110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 78 0x4e 'N' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0xe6, /* 11100110 */
+	0xf6, /* 11110110 */
+	0xfe, /* 11111110 */
+	0xde, /* 11011110 */
+	0xce, /* 11001110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 79 0x4f 'O' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 80 0x50 'P' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfc, /* 11111100 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x7c, /* 01111100 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0xf0, /* 11110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 81 0x51 'Q' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xd6, /* 11010110 */
+	0xde, /* 11011110 */
+	0x7c, /* 01111100 */
+	0x0c, /* 00001100 */
+	0x0e, /* 00001110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 82 0x52 'R' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfc, /* 11111100 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x7c, /* 01111100 */
+	0x6c, /* 01101100 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0xe6, /* 11100110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 83 0x53 'S' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x60, /* 01100000 */
+	0x38, /* 00111000 */
+	0x0c, /* 00001100 */
+	0x06, /* 00000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 84 0x54 'T' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7e, /* 01111110 */
+	0x7e, /* 01111110 */
+	0x5a, /* 01011010 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 85 0x55 'U' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 86 0x56 'V' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x6c, /* 01101100 */
+	0x38, /* 00111000 */
+	0x10, /* 00010000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 87 0x57 'W' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xd6, /* 11010110 */
+	0xd6, /* 11010110 */
+	0xd6, /* 11010110 */
+	0xfe, /* 11111110 */
+	0xee, /* 11101110 */
+	0x6c, /* 01101100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 88 0x58 'X' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x6c, /* 01101100 */
+	0x7c, /* 01111100 */
+	0x38, /* 00111000 */
+	0x38, /* 00111000 */
+	0x7c, /* 01111100 */
+	0x6c, /* 01101100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 89 0x59 'Y' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x3c, /* 00111100 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 90 0x5a 'Z' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0xc6, /* 11000110 */
+	0x86, /* 10000110 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0xc2, /* 11000010 */
+	0xc6, /* 11000110 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 91 0x5b '[' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00111100 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 92 0x5c '\' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x80, /* 10000000 */
+	0xc0, /* 11000000 */
+	0xe0, /* 11100000 */
+	0x70, /* 01110000 */
+	0x38, /* 00111000 */
+	0x1c, /* 00011100 */
+	0x0e, /* 00001110 */
+	0x06, /* 00000110 */
+	0x02, /* 00000010 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 93 0x5d ']' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00111100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 94 0x5e '^' */
+	0x10, /* 00010000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 95 0x5f '_' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xff, /* 11111111 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 96 0x60 '`' */
+	0x00, /* 00000000 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+	0x0c, /* 00001100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 97 0x61 'a' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x78, /* 01111000 */
+	0x0c, /* 00001100 */
+	0x7c, /* 01111100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x76, /* 01110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 98 0x62 'b' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xe0, /* 11100000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x78, /* 01111000 */
+	0x6c, /* 01101100 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 99 0x63 'c' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 100 0x64 'd' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x1c, /* 00011100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x3c, /* 00111100 */
+	0x6c, /* 01101100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x76, /* 01110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 101 0x65 'e' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xfe, /* 11111110 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 102 0x66 'f' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x1c, /* 00011100 */
+	0x36, /* 00110110 */
+	0x32, /* 00110010 */
+	0x30, /* 00110000 */
+	0x78, /* 01111000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x78, /* 01111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 103 0x67 'g' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x76, /* 01110110 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x7c, /* 01111100 */
+	0x0c, /* 00001100 */
+	0xcc, /* 11001100 */
+	0x78, /* 01111000 */
+	0x00, /* 00000000 */
+
+	/* 104 0x68 'h' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xe0, /* 11100000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x6c, /* 01101100 */
+	0x76, /* 01110110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0xe6, /* 11100110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 105 0x69 'i' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 106 0x6a 'j' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x00, /* 00000000 */
+	0x0e, /* 00001110 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+
+	/* 107 0x6b 'k' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xe0, /* 11100000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x66, /* 01100110 */
+	0x6c, /* 01101100 */
+	0x78, /* 01111000 */
+	0x78, /* 01111000 */
+	0x6c, /* 01101100 */
+	0x66, /* 01100110 */
+	0xe6, /* 11100110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 108 0x6c 'l' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 109 0x6d 'm' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xec, /* 11101100 */
+	0xfe, /* 11111110 */
+	0xd6, /* 11010110 */
+	0xd6, /* 11010110 */
+	0xd6, /* 11010110 */
+	0xd6, /* 11010110 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 110 0x6e 'n' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xdc, /* 11011100 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 111 0x6f 'o' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 112 0x70 'p' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xdc, /* 11011100 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x7c, /* 01111100 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0xf0, /* 11110000 */
+	0x00, /* 00000000 */
+
+	/* 113 0x71 'q' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x76, /* 01110110 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x7c, /* 01111100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x1e, /* 00011110 */
+	0x00, /* 00000000 */
+
+	/* 114 0x72 'r' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xdc, /* 11011100 */
+	0x76, /* 01110110 */
+	0x66, /* 01100110 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0xf0, /* 11110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 115 0x73 's' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0x60, /* 01100000 */
+	0x38, /* 00111000 */
+	0x0c, /* 00001100 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 116 0x74 't' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x10, /* 00010000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0xfc, /* 11111100 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x36, /* 00110110 */
+	0x1c, /* 00011100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 117 0x75 'u' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x76, /* 01110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 118 0x76 'v' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x6c, /* 01101100 */
+	0x38, /* 00111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 119 0x77 'w' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xd6, /* 11010110 */
+	0xd6, /* 11010110 */
+	0xd6, /* 11010110 */
+	0xfe, /* 11111110 */
+	0x6c, /* 01101100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 120 0x78 'x' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0x6c, /* 01101100 */
+	0x38, /* 00111000 */
+	0x38, /* 00111000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 121 0x79 'y' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7e, /* 01111110 */
+	0x06, /* 00000110 */
+	0x0c, /* 00001100 */
+	0xf8, /* 11111000 */
+	0x00, /* 00000000 */
+
+	/* 122 0x7a 'z' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0xcc, /* 11001100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0xc6, /* 11000110 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 123 0x7b '{' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x0e, /* 00001110 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x70, /* 01110000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x0e, /* 00001110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 124 0x7c '|' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 125 0x7d '}' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x70, /* 01110000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x0e, /* 00001110 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 126 0x7e '~' */
+	0x00, /* 00000000 */
+	0x76, /* 01110110 */
+	0xdc, /* 11011100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 127 0x7f '' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x10, /* 00010000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 128 0x80 '€' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00111100 */
+	0x66, /* 01100110 */
+	0xc2, /* 11000010 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc2, /* 11000010 */
+	0x66, /* 01100110 */
+	0x3c, /* 00111100 */
+	0x18, /* 00011000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 129 0x81 '' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xcc, /* 11001100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x76, /* 01110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 130 0x82 '‚' */
+	0x00, /* 00000000 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xfe, /* 11111110 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 131 0x83 'ƒ' */
+	0x00, /* 00000000 */
+	0x10, /* 00010000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0x00, /* 00000000 */
+	0x78, /* 01111000 */
+	0x0c, /* 00001100 */
+	0x7c, /* 01111100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x76, /* 01110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 132 0x84 '„' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xcc, /* 11001100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x78, /* 01111000 */
+	0x0c, /* 00001100 */
+	0x7c, /* 01111100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x76, /* 01110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 133 0x85 '…' */
+	0x00, /* 00000000 */
+	0x60, /* 01100000 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x78, /* 01111000 */
+	0x0c, /* 00001100 */
+	0x7c, /* 01111100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x76, /* 01110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 134 0x86 '†' */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0x38, /* 00111000 */
+	0x00, /* 00000000 */
+	0x78, /* 01111000 */
+	0x0c, /* 00001100 */
+	0x7c, /* 01111100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x76, /* 01110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 135 0x87 '‡' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x18, /* 00011000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 136 0x88 'ˆ' */
+	0x00, /* 00000000 */
+	0x10, /* 00010000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xfe, /* 11111110 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 137 0x89 '‰' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xfe, /* 11111110 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 138 0x8a 'Š' */
+	0x00, /* 00000000 */
+	0x60, /* 01100000 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xfe, /* 11111110 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 139 0x8b '‹' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x66, /* 01100110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 140 0x8c 'Œ' */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x66, /* 01100110 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 141 0x8d '' */
+	0x00, /* 00000000 */
+	0x60, /* 01100000 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 142 0x8e 'Ž' */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x10, /* 00010000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xfe, /* 11111110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 143 0x8f '' */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0x38, /* 00111000 */
+	0x10, /* 00010000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0xc6, /* 11000110 */
+	0xfe, /* 11111110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 144 0x90 '' */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0x66, /* 01100110 */
+	0x62, /* 01100010 */
+	0x68, /* 01101000 */
+	0x78, /* 01111000 */
+	0x68, /* 01101000 */
+	0x62, /* 01100010 */
+	0x66, /* 01100110 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 145 0x91 '‘' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xec, /* 11101100 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x7e, /* 01111110 */
+	0xd8, /* 11011000 */
+	0xd8, /* 11011000 */
+	0x6e, /* 01101110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 146 0x92 '’' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x3e, /* 00111110 */
+	0x6c, /* 01101100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xfe, /* 11111110 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xce, /* 11001110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 147 0x93 '“' */
+	0x00, /* 00000000 */
+	0x10, /* 00010000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 148 0x94 '”' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 149 0x95 '•' */
+	0x00, /* 00000000 */
+	0x60, /* 01100000 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 150 0x96 '–' */
+	0x00, /* 00000000 */
+	0x30, /* 00110000 */
+	0x78, /* 01111000 */
+	0xcc, /* 11001100 */
+	0x00, /* 00000000 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x76, /* 01110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 151 0x97 '—' */
+	0x00, /* 00000000 */
+	0x60, /* 01100000 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x76, /* 01110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 152 0x98 '˜' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7e, /* 01111110 */
+	0x06, /* 00000110 */
+	0x0c, /* 00001100 */
+	0x78, /* 01111000 */
+	0x00, /* 00000000 */
+
+	/* 153 0x99 '™' */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 154 0x9a 'š' */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 155 0x9b '›' */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 156 0x9c 'œ' */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0x64, /* 01100100 */
+	0x60, /* 01100000 */
+	0xf0, /* 11110000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0xe6, /* 11100110 */
+	0xfc, /* 11111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 157 0x9d '' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x3c, /* 00111100 */
+	0x18, /* 00011000 */
+	0x7e, /* 01111110 */
+	0x18, /* 00011000 */
+	0x7e, /* 01111110 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 158 0x9e 'ž' */
+	0x00, /* 00000000 */
+	0xf8, /* 11111000 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xf8, /* 11111000 */
+	0xc4, /* 11000100 */
+	0xcc, /* 11001100 */
+	0xde, /* 11011110 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 159 0x9f 'Ÿ' */
+	0x00, /* 00000000 */
+	0x0e, /* 00001110 */
+	0x1b, /* 00011011 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x7e, /* 01111110 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0xd8, /* 11011000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 160 0xa0 ' ' */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0x00, /* 00000000 */
+	0x78, /* 01111000 */
+	0x0c, /* 00001100 */
+	0x7c, /* 01111100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x76, /* 01110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 161 0xa1 '¡' */
+	0x00, /* 00000000 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 162 0xa2 '¢' */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 163 0xa3 '£' */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0x00, /* 00000000 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0x76, /* 01110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 164 0xa4 '¤' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x76, /* 01110110 */
+	0xdc, /* 11011100 */
+	0x00, /* 00000000 */
+	0xdc, /* 11011100 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 165 0xa5 '¥' */
+	0x76, /* 01110110 */
+	0xdc, /* 11011100 */
+	0x00, /* 00000000 */
+	0xc6, /* 11000110 */
+	0xe6, /* 11100110 */
+	0xf6, /* 11110110 */
+	0xfe, /* 11111110 */
+	0xde, /* 11011110 */
+	0xce, /* 11001110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 166 0xa6 '¦' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00111100 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0x3e, /* 00111110 */
+	0x00, /* 00000000 */
+	0x7e, /* 01111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 167 0xa7 '§' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0x38, /* 00111000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 168 0xa8 '¨' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0xc0, /* 11000000 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x7c, /* 01111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 169 0xa9 '©' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 170 0xaa 'ª' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 171 0xab '«' */
+	0x00, /* 00000000 */
+	0x60, /* 01100000 */
+	0xe0, /* 11100000 */
+	0x62, /* 01100010 */
+	0x66, /* 01100110 */
+	0x6c, /* 01101100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0xdc, /* 11011100 */
+	0x86, /* 10000110 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x3e, /* 00111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 172 0xac '¬' */
+	0x00, /* 00000000 */
+	0x60, /* 01100000 */
+	0xe0, /* 11100000 */
+	0x62, /* 01100010 */
+	0x66, /* 01100110 */
+	0x6c, /* 01101100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x66, /* 01100110 */
+	0xce, /* 11001110 */
+	0x9a, /* 10011010 */
+	0x3f, /* 00111111 */
+	0x06, /* 00000110 */
+	0x06, /* 00000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 173 0xad '­' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x3c, /* 00111100 */
+	0x3c, /* 00111100 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 174 0xae '®' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x36, /* 00110110 */
+	0x6c, /* 01101100 */
+	0xd8, /* 11011000 */
+	0x6c, /* 01101100 */
+	0x36, /* 00110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 175 0xaf '¯' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xd8, /* 11011000 */
+	0x6c, /* 01101100 */
+	0x36, /* 00110110 */
+	0x6c, /* 01101100 */
+	0xd8, /* 11011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 176 0xb0 '°' */
+	0x11, /* 00010001 */
+	0x44, /* 01000100 */
+	0x11, /* 00010001 */
+	0x44, /* 01000100 */
+	0x11, /* 00010001 */
+	0x44, /* 01000100 */
+	0x11, /* 00010001 */
+	0x44, /* 01000100 */
+	0x11, /* 00010001 */
+	0x44, /* 01000100 */
+	0x11, /* 00010001 */
+	0x44, /* 01000100 */
+	0x11, /* 00010001 */
+	0x44, /* 01000100 */
+	0x11, /* 00010001 */
+	0x44, /* 01000100 */
+
+	/* 177 0xb1 '±' */
+	0x55, /* 01010101 */
+	0xaa, /* 10101010 */
+	0x55, /* 01010101 */
+	0xaa, /* 10101010 */
+	0x55, /* 01010101 */
+	0xaa, /* 10101010 */
+	0x55, /* 01010101 */
+	0xaa, /* 10101010 */
+	0x55, /* 01010101 */
+	0xaa, /* 10101010 */
+	0x55, /* 01010101 */
+	0xaa, /* 10101010 */
+	0x55, /* 01010101 */
+	0xaa, /* 10101010 */
+	0x55, /* 01010101 */
+	0xaa, /* 10101010 */
+
+	/* 178 0xb2 '²' */
+	0xdd, /* 11011101 */
+	0x77, /* 01110111 */
+	0xdd, /* 11011101 */
+	0x77, /* 01110111 */
+	0xdd, /* 11011101 */
+	0x77, /* 01110111 */
+	0xdd, /* 11011101 */
+	0x77, /* 01110111 */
+	0xdd, /* 11011101 */
+	0x77, /* 01110111 */
+	0xdd, /* 11011101 */
+	0x77, /* 01110111 */
+	0xdd, /* 11011101 */
+	0x77, /* 01110111 */
+	0xdd, /* 11011101 */
+	0x77, /* 01110111 */
+
+	/* 179 0xb3 '³' */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+
+	/* 180 0xb4 '´' */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0xf8, /* 11111000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+
+	/* 181 0xb5 'µ' */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0xf8, /* 11111000 */
+	0x18, /* 00011000 */
+	0xf8, /* 11111000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+
+	/* 182 0xb6 '¶' */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0xf6, /* 11110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+
+	/* 183 0xb7 '·' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+
+	/* 184 0xb8 '¸' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xf8, /* 11111000 */
+	0x18, /* 00011000 */
+	0xf8, /* 11111000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+
+	/* 185 0xb9 '¹' */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0xf6, /* 11110110 */
+	0x06, /* 00000110 */
+	0xf6, /* 11110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+
+	/* 186 0xba 'º' */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+
+	/* 187 0xbb '»' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0x06, /* 00000110 */
+	0xf6, /* 11110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+
+	/* 188 0xbc '¼' */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0xf6, /* 11110110 */
+	0x06, /* 00000110 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 189 0xbd '½' */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 190 0xbe '¾' */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0xf8, /* 11111000 */
+	0x18, /* 00011000 */
+	0xf8, /* 11111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 191 0xbf '¿' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xf8, /* 11111000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+
+	/* 192 0xc0 'À' */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x1f, /* 00011111 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 193 0xc1 'Á' */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0xff, /* 11111111 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 194 0xc2 'Â' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xff, /* 11111111 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+
+	/* 195 0xc3 'Ã' */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x1f, /* 00011111 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+
+	/* 196 0xc4 'Ä' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xff, /* 11111111 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 197 0xc5 'Å' */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0xff, /* 11111111 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+
+	/* 198 0xc6 'Æ' */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x1f, /* 00011111 */
+	0x18, /* 00011000 */
+	0x1f, /* 00011111 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+
+	/* 199 0xc7 'Ç' */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x37, /* 00110111 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+
+	/* 200 0xc8 'È' */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x37, /* 00110111 */
+	0x30, /* 00110000 */
+	0x3f, /* 00111111 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 201 0xc9 'É' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x3f, /* 00111111 */
+	0x30, /* 00110000 */
+	0x37, /* 00110111 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+
+	/* 202 0xca 'Ê' */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0xf7, /* 11110111 */
+	0x00, /* 00000000 */
+	0xff, /* 11111111 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 203 0xcb 'Ë' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xff, /* 11111111 */
+	0x00, /* 00000000 */
+	0xf7, /* 11110111 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+
+	/* 204 0xcc 'Ì' */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x37, /* 00110111 */
+	0x30, /* 00110000 */
+	0x37, /* 00110111 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+
+	/* 205 0xcd 'Í' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xff, /* 11111111 */
+	0x00, /* 00000000 */
+	0xff, /* 11111111 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 206 0xce 'Î' */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0xf7, /* 11110111 */
+	0x00, /* 00000000 */
+	0xf7, /* 11110111 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+
+	/* 207 0xcf 'Ï' */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0xff, /* 11111111 */
+	0x00, /* 00000000 */
+	0xff, /* 11111111 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 208 0xd0 'Ð' */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0xff, /* 11111111 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 209 0xd1 'Ñ' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xff, /* 11111111 */
+	0x00, /* 00000000 */
+	0xff, /* 11111111 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+
+	/* 210 0xd2 'Ò' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xff, /* 11111111 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+
+	/* 211 0xd3 'Ó' */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x3f, /* 00111111 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 212 0xd4 'Ô' */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x1f, /* 00011111 */
+	0x18, /* 00011000 */
+	0x1f, /* 00011111 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 213 0xd5 'Õ' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x1f, /* 00011111 */
+	0x18, /* 00011000 */
+	0x1f, /* 00011111 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+
+	/* 214 0xd6 'Ö' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x3f, /* 00111111 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+
+	/* 215 0xd7 '×' */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0xff, /* 11111111 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+
+	/* 216 0xd8 'Ø' */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0xff, /* 11111111 */
+	0x18, /* 00011000 */
+	0xff, /* 11111111 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+
+	/* 217 0xd9 'Ù' */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0xf8, /* 11111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 218 0xda 'Ú' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x1f, /* 00011111 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+
+	/* 219 0xdb 'Û' */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+
+	/* 220 0xdc 'Ü' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+
+	/* 221 0xdd 'Ý' */
+	0xf0, /* 11110000 */
+	0xf0, /* 11110000 */
+	0xf0, /* 11110000 */
+	0xf0, /* 11110000 */
+	0xf0, /* 11110000 */
+	0xf0, /* 11110000 */
+	0xf0, /* 11110000 */
+	0xf0, /* 11110000 */
+	0xf0, /* 11110000 */
+	0xf0, /* 11110000 */
+	0xf0, /* 11110000 */
+	0xf0, /* 11110000 */
+	0xf0, /* 11110000 */
+	0xf0, /* 11110000 */
+	0xf0, /* 11110000 */
+	0xf0, /* 11110000 */
+
+	/* 222 0xde 'Þ' */
+	0x0f, /* 00001111 */
+	0x0f, /* 00001111 */
+	0x0f, /* 00001111 */
+	0x0f, /* 00001111 */
+	0x0f, /* 00001111 */
+	0x0f, /* 00001111 */
+	0x0f, /* 00001111 */
+	0x0f, /* 00001111 */
+	0x0f, /* 00001111 */
+	0x0f, /* 00001111 */
+	0x0f, /* 00001111 */
+	0x0f, /* 00001111 */
+	0x0f, /* 00001111 */
+	0x0f, /* 00001111 */
+	0x0f, /* 00001111 */
+	0x0f, /* 00001111 */
+
+	/* 223 0xdf 'ß' */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0xff, /* 11111111 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 224 0xe0 'à' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x76, /* 01110110 */
+	0xdc, /* 11011100 */
+	0xd8, /* 11011000 */
+	0xd8, /* 11011000 */
+	0xd8, /* 11011000 */
+	0xdc, /* 11011100 */
+	0x76, /* 01110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 225 0xe1 'á' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x78, /* 01111000 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xcc, /* 11001100 */
+	0xd8, /* 11011000 */
+	0xcc, /* 11001100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xcc, /* 11001100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 226 0xe2 'â' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 227 0xe3 'ã' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 228 0xe4 'ä' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0xc6, /* 11000110 */
+	0x60, /* 01100000 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0xc6, /* 11000110 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 229 0xe5 'å' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7e, /* 01111110 */
+	0xd8, /* 11011000 */
+	0xd8, /* 11011000 */
+	0xd8, /* 11011000 */
+	0xd8, /* 11011000 */
+	0xd8, /* 11011000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 230 0xe6 'æ' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x7c, /* 01111100 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0xc0, /* 11000000 */
+	0x00, /* 00000000 */
+
+	/* 231 0xe7 'ç' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x76, /* 01110110 */
+	0xdc, /* 11011100 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 232 0xe8 'è' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7e, /* 01111110 */
+	0x18, /* 00011000 */
+	0x3c, /* 00111100 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x3c, /* 00111100 */
+	0x18, /* 00011000 */
+	0x7e, /* 01111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 233 0xe9 'é' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xfe, /* 11111110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x6c, /* 01101100 */
+	0x38, /* 00111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 234 0xea 'ê' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0xee, /* 11101110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 235 0xeb 'ë' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x1e, /* 00011110 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+	0x0c, /* 00001100 */
+	0x3e, /* 00111110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x66, /* 01100110 */
+	0x3c, /* 00111100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 236 0xec 'ì' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7e, /* 01111110 */
+	0xdb, /* 11011011 */
+	0xdb, /* 11011011 */
+	0xdb, /* 11011011 */
+	0x7e, /* 01111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 237 0xed 'í' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x03, /* 00000011 */
+	0x06, /* 00000110 */
+	0x7e, /* 01111110 */
+	0xdb, /* 11011011 */
+	0xdb, /* 11011011 */
+	0xf3, /* 11110011 */
+	0x7e, /* 01111110 */
+	0x60, /* 01100000 */
+	0xc0, /* 11000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 238 0xee 'î' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x1c, /* 00011100 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x7c, /* 01111100 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x60, /* 01100000 */
+	0x30, /* 00110000 */
+	0x1c, /* 00011100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 239 0xef 'ï' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 01111100 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0xc6, /* 11000110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 240 0xf0 'ð' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfe, /* 11111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 241 0xf1 'ñ' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x7e, /* 01111110 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7e, /* 01111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 242 0xf2 'ò' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+	0x0c, /* 00001100 */
+	0x06, /* 00000110 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+	0x7e, /* 01111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 243 0xf3 'ó' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x30, /* 00110000 */
+	0x60, /* 01100000 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+	0x0c, /* 00001100 */
+	0x00, /* 00000000 */
+	0x7e, /* 01111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 244 0xf4 'ô' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x0e, /* 00001110 */
+	0x1b, /* 00011011 */
+	0x1b, /* 00011011 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+
+	/* 245 0xf5 'õ' */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0xd8, /* 11011000 */
+	0xd8, /* 11011000 */
+	0xd8, /* 11011000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 246 0xf6 'ö' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x7e, /* 01111110 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 247 0xf7 '÷' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x76, /* 01110110 */
+	0xdc, /* 11011100 */
+	0x00, /* 00000000 */
+	0x76, /* 01110110 */
+	0xdc, /* 11011100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 248 0xf8 'ø' */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0x38, /* 00111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 249 0xf9 'ù' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 250 0xfa 'ú' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 251 0xfb 'û' */
+	0x00, /* 00000000 */
+	0x0f, /* 00001111 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0x0c, /* 00001100 */
+	0xec, /* 11101100 */
+	0x6c, /* 01101100 */
+	0x6c, /* 01101100 */
+	0x3c, /* 00111100 */
+	0x1c, /* 00011100 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 252 0xfc 'ü' */
+	0x00, /* 00000000 */
+	0x6c, /* 01101100 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x36, /* 00110110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 253 0xfd 'ý' */
+	0x00, /* 00000000 */
+	0x3c, /* 00111100 */
+	0x66, /* 01100110 */
+	0x0c, /* 00001100 */
+	0x18, /* 00011000 */
+	0x32, /* 00110010 */
+	0x7e, /* 01111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 254 0xfe 'þ' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7e, /* 01111110 */
+	0x7e, /* 01111110 */
+	0x7e, /* 01111110 */
+	0x7e, /* 01111110 */
+	0x7e, /* 01111110 */
+	0x7e, /* 01111110 */
+	0x7e, /* 01111110 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 255 0xff 'ÿ' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+};
+
+unsigned char* font_get(int c)
+{
+	return &fontdata_8x16[c * 16];
+}

Added: branches/vendor/emile/apple_driver/head.S
===================================================================
--- branches/vendor/emile/apple_driver/head.S	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/apple_driver/head.S	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,117 @@
+/*
+ *
+ * (c) 2006 Laurent Vivier <Laurent at lvivier.info>
+ *
+ * based on http://developer.apple.com/technotes/tn/tn1189.html
+ *
+ */
+
+	.cpu 68000
+
+.macro SysError
+	.short 0xA9C9
+.endm
+
+.macro NewPtrClear
+	.short 0xA31E
+.endm
+
+	.align	4
+_start:
+primary_entry_point:
+	bra.w	primary_setup
+	dc.l	0x0001
+
+secondary_entry_point:
+	bra.w	secondary_setup
+
+_driver_name:
+	.string	".EMILE"
+_version:
+	dc.w	0x001
+_id:
+	.string	"EMILE SCSI 0.0.1"
+
+	.string "APPLE_DRIVER for EMILE"
+	.string	"(c) 2006 Laurent Vivier <Laurent at lvivier.info>"
+	.string "All files are distributed under the terms of GPLv2 license."
+
+	.align	4
+primary_setup:
+	ori.l	#0x0f000000, %d5
+
+secondary_setup:
+	
+	movem.l %d1-%a4,%sp at -
+	move.l	%d5, %sp at -
+	bsr	driver_entry
+	add.l	#4, %sp
+	movem.l %sp at +, %d1-%a4
+	rts
+
+driver_entry:
+	bsr	relocate
+
+	bsr	console_init at PLTPC
+	move.l  %d5, -(%sp)
+	bsr     start at PLTPC
+
+	rts
+
+relocate:
+	/* Allocate BSS section */
+
+	move.l	#__bss_size, %d0	/* size */
+	/* Alloc and clear memory (needed by GCC 3) */
+	NewPtrClear			/* result in %a0 */
+	move.l	%a0, %d0
+	bne	malloc_ok
+	SysError
+malloc_ok:
+	move.l	%a0,%d3
+	move.l	#__bss_start, %d0
+	sub.l	%d0,%d3			/* %d3 is the offset to add for BSS */
+
+	/* real address of GOT */
+
+	lea	_GLOBAL_OFFSET_TABLE_-.-8,%a0
+	lea	(%pc, %a0), %a0
+
+	/* linked address of GOT */
+
+	move.l	#_GLOBAL_OFFSET_TABLE_, %d0
+
+	/* %d2 is the offset to add for all other sections */
+
+	move.l	%a0,%d2
+	sub.l	%d0,%d2
+
+	/* relocate BSS section */
+
+	move.l	#__got_size, %d0
+	beq	exit_relocate
+
+got_loop:
+	move.l	(%a0), %d1
+
+	cmp.l	#__bss_start.l, %d1
+	blt	other_section
+	cmp.l	#_end.l, %d1
+	bgt	other_section
+
+	/* symbol in section BSS */
+
+	add.l	%d3, %d1
+	bra	got_store
+
+other_section:
+	add.l	%d2, %d1
+
+got_store:
+	move.l	%d1, (%a0)+
+
+	subq.l	#4, %d0
+	bgt	got_loop
+
+exit_relocate:
+	rts

Added: branches/vendor/emile/apple_driver/ld.script
===================================================================
--- branches/vendor/emile/apple_driver/ld.script	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/apple_driver/ld.script	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,92 @@
+OUTPUT_ARCH(m68k)
+SECTIONS
+{
+  .text           :
+  {
+    __bootloader_start = .;
+    *(.text .stub .text.* .gnu.linkonce.t.*)
+    *(.gnu.warning)
+  } =0x4e754e75
+  .hash           : { *(.hash) }
+  .dynsym         : { *(.dynsym) }
+  .dynstr         : { *(.dynstr) }
+  .rel.dyn        :
+    {
+      *(.rel.init)
+      *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
+      *(.rel.fini)
+      *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
+      *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
+      *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
+      *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
+      *(.rel.ctors)
+      *(.rel.dtors)
+      *(.rel.got)
+      *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
+    }
+  .rela.dyn       :
+    {
+      *(.rela.init)
+      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
+      *(.rela.fini)
+      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
+      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
+      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
+      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
+      *(.rela.ctors)
+      *(.rela.dtors)
+      *(.rela.got)
+      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
+    }
+  .rel.plt        : { *(.rel.plt) }
+  .rela.plt       : { *(.rela.plt) }
+  .init           :
+  {
+    KEEP (*(.init))
+  } =0x4e754e75
+  .plt            : { *(.plt) }
+  .fini           :
+  {
+    KEEP (*(.fini))
+  } =0x4e754e75
+  PROVIDE (__etext = .);
+  PROVIDE (_etext = .);
+  PROVIDE (etext = .);
+  .rodata         : {
+    *(.rodata .rodata.* .gnu.linkonce.r.*)
+  }
+  .rodata1        : { *(.rodata1) }
+  .eh_frame_hdr : { *(.eh_frame_hdr) }
+  . = ALIGN(0x2000) + (. & (0x2000 - 1));
+  . = ALIGN(32 / 8);
+  .preinit_array     : { *(.preinit_array) }
+  .init_array     : { *(.init_array) }
+  .fini_array     : { *(.fini_array) }
+  .data           :
+  {
+    *(.data .data.* .gnu.linkonce.d.*)
+    SORT(CONSTRUCTORS)
+  }
+  .data1          : { *(.data1) }
+  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
+  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
+  .eh_frame       : { KEEP (*(.eh_frame)) }
+  .gcc_except_table   : { *(.gcc_except_table) }
+  .dynamic        : { *(.dynamic) }
+  .got            : { *(.got.plt) *(.got) }
+  __got_size = . - _GLOBAL_OFFSET_TABLE_;
+  _edata = .;
+  PROVIDE (edata = .);
+  __bss_start = .;
+  .bss            :
+  {
+   *(.dynbss)
+   *(.bss .bss.* .gnu.linkonce.b.*)
+   *(COMMON)
+   . = ALIGN(32 / 8);
+  }
+  . = ALIGN(32 / 8);
+  __bss_size = . - __bss_start;
+  _end = .;
+  PROVIDE (end = .);
+}

Added: branches/vendor/emile/apple_driver/main.c
===================================================================
--- branches/vendor/emile/apple_driver/main.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/apple_driver/main.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,11 @@
+#define __NO_INLINE__
+
+#include <stdio.h>
+
+int start(int origin)
+{
+	printf("Welcome !\n");
+	printf("Origin: %x\n", origin);
+
+	return 0;
+}

Added: branches/vendor/emile/apple_driver/vga.c
===================================================================
--- branches/vendor/emile/apple_driver/vga.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/apple_driver/vga.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,525 @@
+/*
+ * 
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
+ *
+ */
+
+#include <stdio.h>
+
+#include <macos/lowmem.h>
+#include <macos/quickdraw.h>
+#include <libmacos.h>
+
+#include "vga.h"
+
+QDGlobals qd;
+
+typedef struct vga_handler {
+
+	unsigned char*	video;
+	unsigned char*	base;
+	unsigned long	row_bytes;	/* in bytes */
+	unsigned long	depth;		/* 4, 8, 16 or 32 */
+	unsigned long	width;		/* in pixels */
+	unsigned long	height;
+	
+	unsigned long	siz_w, siz_h;
+	unsigned long	pos_x, pos_y;
+	
+} vga_handler_t ;
+
+static unsigned char bits_depth2[16] = {
+	0x00,	/* 0  : 0000 -> 00000000 */
+	0x03,	/* 1  : 0001 -> 00000011 */
+	0x0c,	/* 2  : 0010 -> 00001100 */
+	0x0f,	/* 3  : 0011 -> 00001111 */
+	0x30,	/* 4  : 0100 -> 00110000 */
+	0x33,	/* 5  : 0101 -> 00110011 */
+	0x3c,	/* 6  : 0110 -> 00111100 */
+	0x3f,	/* 7  : 0111 -> 00111111 */
+	0xc0,	/* 8  : 1000 -> 11000000 */
+	0xc3,	/* 9  : 1001 -> 11000011 */
+	0xcc,	/* 10 : 1010 -> 11001100 */
+	0xcf,	/* 11 : 1011 -> 11001111 */
+	0xf0,	/* 12 : 1100 -> 11110000 */
+	0xf3,	/* 13 : 1101 -> 11110011 */
+	0xfc,	/* 14 : 1110 -> 11111100 */
+	0xff	/* 15 : 1111 -> 11111111 */
+};
+
+static unsigned char bits_depth4[4] = {
+	0x00,	/* 0 : 00 -> 00000000 */
+	0x0f,	/* 1 : 01 -> 00001111 */
+	0xf0,	/* 2 : 10 -> 11110000 */
+	0xFF	/* 3 : 11 -> 11111111 */
+};
+
+static unsigned char bits_depth8[2] = {
+	0x00,	/* 0 : 0 -> 00000000 */
+	0xff	/* 0 : 1 -> 11111111 */
+};
+
+static vga_handler_t vga =
+{
+	.video = 0,
+	.base = 0,
+	.row_bytes = 0,
+	.depth = 0,
+	.width = 0,
+	.height = 0,
+	.siz_w = 0,
+	.siz_h = 0,
+	.pos_x = 0,
+	.pos_y = 0
+};
+
+static unsigned long cursor_save_x, cursor_save_y;
+
+#define CURSOR_POS	0
+#define CURSOR_HIGH	16
+
+static int cursor_on = 0;
+static int cursor_state = 0;
+
+extern unsigned char* font_get(int c);
+
+static void
+draw_cursor(void)
+{
+	int l,w;
+	unsigned char *base;
+	unsigned long x_base;
+	unsigned long y_base;
+						        
+	y_base = vga.row_bytes * vga.pos_y * 16;
+	x_base = vga.pos_x * vga.depth;
+
+	base =  vga.base + y_base + x_base;
+
+	base += CURSOR_POS * vga.row_bytes;
+	for (l = 0 ; l < CURSOR_HIGH ; l++)
+	{
+		for (w = 0; w < vga.depth; w++)
+			base[w] ^= 0xFF;
+		base += vga.row_bytes;
+	}
+}
+
+static void vga_cursor(int state)
+{
+	if (cursor_state != state)
+	{
+		draw_cursor();
+		cursor_state = state;
+	}
+}
+
+void vga_cursor_refresh(void)
+{
+	if (!cursor_on)
+		return;
+
+	if (Ticks % 60 < 30)
+		vga_cursor(0);
+	else
+		vga_cursor(1);
+}
+
+void vga_cursor_on(void)
+{
+	cursor_on = 1;
+	vga_cursor_refresh();
+}
+
+void vga_cursor_off(void)
+{
+	cursor_on = 0;
+	vga_cursor(0);
+}
+
+void vga_cursor_save(void)
+{
+	cursor_save_x = vga.pos_x;
+	cursor_save_y = vga.pos_y;
+}
+
+void vga_cursor_restore(void)
+{
+	vga_cursor(0);
+	vga.pos_x = cursor_save_x;
+	vga.pos_y = cursor_save_y;
+	vga_cursor(1);
+}
+
+static void
+draw_byte_1(unsigned char *glyph, unsigned char *base)
+{
+	int l;
+
+	for (l = 0 ; l < 16; l++)
+	{
+		*base = ~(*glyph++);
+		base += vga.row_bytes;
+	}
+}
+
+static void
+draw_byte_2(unsigned char *glyph, unsigned char *base)
+{
+	int l;
+	int bits;
+
+	for (l = 0 ; l < 16; l++)
+	{
+		bits = ~(*glyph++);
+
+		base[1] = bits_depth2[bits & 0x0F];
+		bits = bits >> 4;
+		base[0] = bits_depth2[bits & 0x0F];
+
+		base += vga.row_bytes;
+	}
+}
+
+static void
+draw_byte_4(unsigned char *glyph, unsigned char *base)
+{
+	int l;
+	int bits;
+
+	for (l = 0 ; l < 16; l++)
+	{
+		bits = ~(*glyph++);
+
+		base[3] = bits_depth4[bits & 0x03];
+		bits = bits >> 2;
+
+		base[2] = bits_depth4[bits & 0x03];
+		bits = bits >> 2;
+
+		base[1] = bits_depth4[bits & 0x03];
+		bits = bits >> 2;
+
+		base[0] = bits_depth4[bits & 0x03];
+
+		base += vga.row_bytes;
+	}
+}
+
+static void
+draw_byte_8(unsigned char *glyph, unsigned char *base)
+{
+	int l;
+	int bits;
+
+	for (l = 0 ; l < 16; l++)
+	{
+		bits = ~(*glyph++);
+
+		base[7] = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+		base[6] = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+		base[5] = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+		base[4] = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+		base[3] = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+		base[2] = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+		base[1] = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+		base[0] = bits_depth8[bits & 0x01];
+
+		base += vga.row_bytes;
+	}
+}
+
+static void
+draw_byte_16(unsigned char *glyph, unsigned char *base)
+{
+	int l;
+	int bits;
+
+	for (l = 0 ; l < 16; l++)
+	{
+		bits = *glyph++;
+
+		base[15] = base[14] = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+
+		base[13] = base[12] = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+
+		base[11] = base[10] = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+
+		base[9] = base[8]   = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+
+		base[7] = base[6]   = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+
+		base[5] = base[4]   = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+
+		base[3] = base[2]   = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+
+		base[1] = base[0]   = bits_depth8[bits & 0x01];
+
+		base += vga.row_bytes;
+	}
+}
+
+static void
+draw_byte_24(unsigned char *glyph, unsigned char *base)
+{
+	int l;
+	int bits;
+
+	for (l = 0 ; l < 16; l++)
+	{
+		bits = *glyph++;
+
+		base[23] = base[22] = base[21] = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+
+		base[20] = base[19] = base[18] = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+
+		base[17] = base[16] = base[15] = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+
+		base[14] = base[13] = base[12] = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+
+		base[11] = base[10] = base[9]  = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+
+		base[8]  = base[7]  = base[6]  = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+
+		base[5]  = base[4]  = base[3]  = bits_depth8[bits & 0x01];
+		bits = bits >> 1;
+
+		base[2]  = base[1]  = base[0]  = bits_depth8[bits & 0x01];
+
+		base += vga.row_bytes;
+	}
+}
+
+static void
+draw_byte(unsigned char c, unsigned long locX, unsigned long locY)
+{
+	unsigned char *base;
+	unsigned char *glyph;
+	unsigned long x_base;
+	unsigned long y_base;
+
+	glyph =	font_get(c);
+	
+	y_base = vga.row_bytes * locY * 16;
+	x_base = locX * vga.depth;
+
+	base =	vga.base + y_base + x_base;
+
+	switch(vga.depth)
+	{
+		case 1:
+			draw_byte_1(glyph, base);
+			break;
+		case 2:
+			draw_byte_2(glyph, base);
+			break;
+		case 4:
+			draw_byte_4(glyph, base);
+			break;
+		case 8:
+			draw_byte_8(glyph, base);
+			break;
+		case 16:
+			draw_byte_16(glyph, base);
+			break;
+		case 24:
+			draw_byte_24(glyph, base);
+			break;
+	}
+}
+
+static void vga_clear();
+
+static void
+vga_scroll()
+{
+	unsigned long j;
+	unsigned long i;
+	unsigned long *src;
+	unsigned long *dst;
+	unsigned long bg32;
+
+	/* move up the screen */
+
+	src = (unsigned long *)(vga.base + (vga.row_bytes << 4));
+	dst = (unsigned long *)vga.base;
+
+	for (j = 0; j < vga.siz_h - 1; j++)
+		for (i = 0; i < (vga.row_bytes<<2); i++)
+			*dst++ = *src++;
+
+	/* clear last line */
+
+	if (vga.depth <= 8)
+		bg32 = 0xffffffff;
+	else
+		bg32 = 0x00000000;
+
+	for (j = 0; j < (vga.row_bytes << 2); j++)
+		*dst++ = bg32;
+}
+
+int
+vga_init()
+{
+	int ret;
+	unsigned long base, video;
+
+	InitGraf(&qd.thePort);
+
+	ret = glue_display_properties(&base,
+				&vga.row_bytes,
+				&vga.width,
+				&vga.height,
+				&vga.depth,
+				&video);
+	vga.base = (unsigned char*)base;
+	vga.video = (unsigned char*)video;
+	if (ret)
+	{
+		vga.base = qd.screenBits.baseAddr;
+		vga.row_bytes = qd.screenBits.rowBytes;
+		vga.width = qd.screenBits.bounds.right - 
+				qd.screenBits.bounds.left;
+		vga.height = qd.screenBits.bounds.bottom - 
+					qd.screenBits.bounds.top;
+		vga.depth = 1;
+	}
+
+	vga.pos_x 	= 0;
+	vga.pos_y 	= 0;
+	vga.siz_w	= vga.width / 8;
+	vga.siz_h	= vga.height / 16;
+
+	vga_clear();
+
+	return 0;
+}
+
+void
+vga_put(char c)
+{
+	vga_cursor(0);
+
+	switch(c) {
+		case '\r':
+			vga.pos_x = 0;
+			break;
+		case '\n':
+			vga.pos_x = 0;
+			vga.pos_y++;
+			break;
+		case '\b':
+			if (vga.pos_x > 0)
+				vga.pos_x--;
+			else if (vga.pos_y > 0)
+			{
+				vga.pos_y--;
+				vga.pos_x = vga.siz_w - 1;
+			}
+			break;
+		default:
+			draw_byte((unsigned char)c, vga.pos_x++, vga.pos_y);
+			if (vga.pos_x >= vga.siz_w) {
+				vga.pos_x = 0;
+				vga.pos_y++;
+			}
+	}
+	while (vga.pos_y >= vga.siz_h) {
+		vga_scroll();
+		vga.pos_y--;
+	}
+
+	vga_cursor_refresh();
+}
+
+static void
+vga_clear()
+{
+	int i,j;
+	unsigned long row;
+	unsigned char bg;
+	unsigned long bg32;
+	unsigned long *base;
+	unsigned char *next;
+
+	vga_cursor(0);
+
+	if (vga.depth <= 8)
+	{
+		bg = 0xff;
+		bg32 = 0xffffffff;
+	}
+	else
+	{
+		bg = 0x00;
+		bg32 = 0x00000000;
+	}
+
+	for (j = 0, row = 0; j < vga.height; j++)
+	{
+		base = (unsigned long*)(vga.base + row);
+		row += vga.row_bytes;
+
+		for (i = 0; i < (vga.row_bytes >> 2); i++)
+			*base++ = bg32;
+		next = (unsigned char*)base;
+		for (i = i << 2 ; i < vga.row_bytes; i++)
+			*next++ = bg;
+	}
+
+	vga.pos_x 	= 0;
+	vga.pos_y 	= 0;
+
+	vga_cursor_refresh();
+}
+
+unsigned long vga_get_videobase()
+{
+	return (unsigned long)vga.base;
+}
+
+unsigned long vga_get_row_bytes()
+{
+	return vga.row_bytes;
+}
+
+unsigned long vga_get_depth()
+{
+	return vga.depth;
+}
+
+unsigned long vga_get_width()
+{
+	return vga.width;
+}
+
+unsigned long vga_get_height()
+{
+	return vga.height;
+}
+
+unsigned long vga_get_video()
+{
+	return (unsigned long)vga.video;
+}

Added: branches/vendor/emile/apple_driver/vga.h
===================================================================
--- branches/vendor/emile/apple_driver/vga.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/apple_driver/vga.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,27 @@
+/*
+ *
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
+ *
+ */
+
+#ifndef __VGA_H__
+#define __VGA_H__
+
+extern int vga_init();
+
+extern void vga_put(char c);
+extern void vga_print(char *s);
+extern void vga_cursor_refresh(void);
+extern void vga_cursor_on(void);
+extern void vga_cursor_off(void);
+extern void vga_cursor_save(void);
+extern void vga_cursor_restore(void);
+
+extern unsigned long vga_get_videobase();
+extern unsigned long vga_get_row_bytes();
+extern unsigned long vga_get_depth();
+extern unsigned long vga_get_width();
+extern unsigned long vga_get_height();
+extern unsigned long vga_get_video();
+
+#endif

Added: branches/vendor/emile/debian/Makefile
===================================================================
--- branches/vendor/emile/debian/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/debian/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,13 @@
+#
+#
+# (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
+#
+#
+
+TOP = $(shell pwd)
+
+SOURCES = changelog compat control copyright emile-bootblocks.dirs \
+	  emile-bootblocks.install emile-bootblocks.postinst emile.install \
+	  Makefile rules
+
+include $(TOP)/../Rules.mk

Added: branches/vendor/emile/debian/changelog
===================================================================
--- branches/vendor/emile/debian/changelog	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/debian/changelog	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,11 @@
+emile (0.11) unstable; urgency=low
+
+  * debian packaging integration in EMILE CVS
+
+ -- Laurent Vivier <Laurent at lvivier.info>  Sun, 08 Oct 2006 18:50:34 +0200
+
+emile (0.10-1) unstable; urgency=low
+
+  * Initial upload. Closes: #312269
+
+ -- Wouter Verhelst <wouter at debian.org>  Wed, 05 Jul 2005 23:35:17 +0300

Added: branches/vendor/emile/debian/compat
===================================================================
--- branches/vendor/emile/debian/compat	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/debian/compat	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1 @@
+4

Added: branches/vendor/emile/debian/control
===================================================================
--- branches/vendor/emile/debian/control	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/debian/control	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,35 @@
+Source: emile
+Section: admin
+Priority: optional
+Maintainer: Wouter Verhelst <wouter at debian.org>
+Uploaders: Wouter Verhelst <wouter at debian.org>, Stephen R. Marenka <smarenka at debian.org>
+Build-Depends: debhelper (>> 4.1.16), docbook-to-man, gcc-3.3 | gcc-3.4 | gcc-4.1 [!m68k]
+Build-Depends-Indep: gcc-3.4-m68k-linux [!m68k] | m68k-linux-gcc [!m68k] | gcc-3.4-m68k-linux-gnu [!m68k]
+Standards-Version: 3.6.2
+
+Package: emile-bootblocks
+Architecture: all
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Boot blocks for EMILE, the Early Mac Image LoadEr
+ EMILE provides a way to natively boot Macintosh computers who normally
+ require Penguin to boot.
+ .
+ It is however still in an unfinished state; users unfamiliar with Linux
+ should note that Penguin currently is a more safe option.
+ .
+ This package contains the boot blocks which are written to disk by
+ EMILE; to install and manage the boot blocks, please install the emile
+ package.
+
+Package: emile
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, emile-bootblocks
+Description: the Early Mac Image LoadEr
+ EMILE provides a way to natively boot Macintosh computers who normally
+ require Penguin to boot.
+ .
+ It is however still in an unfinished state; users unfamiliar with Linux
+ should note that Penguin currently is a more safe option.
+ .
+ A list of machines that are supported by EMILE is maintained at 
+ http://wiki.debian.org/EmileSupportedHardware

Added: branches/vendor/emile/debian/copyright
===================================================================
--- branches/vendor/emile/debian/copyright	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/debian/copyright	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,103 @@
+This is the Debian GNU/Linux packaged version of EMILE, the Early Mac Image 
+LoadEr. It was written by and is Copyright(C) 2004-2006 Laurent Vivier
+<laurent at lvivier.info>. The home page is at http://emile.sf.net/
+
+It was debianized by Wouter Verhelst <wouter at debian.org> and Stephen Marenka 
+<stephen at marenka.net>.
+
+License:
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+On Debian GNU/Linux systems, the full text of the GPL can be found in
+/usr/share/common-licenses/GPL-2.
+
+The package also contains some code from various other sources.
+
+The files in the directory libgzip, and the files libstream/gzio.c and
+tools/minigzip.c have the following license and copyright:
+
+  Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+
+  Jean-loup Gailly        Mark Adler
+  jloup at gzip.org          madler at alumni.caltech.edu
+
+  The data format used by the zlib library is described by RFCs (Request for
+  Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt
+  (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
+
+The file libunix/vsprintf.c is available under the following license:
+
+  Copyright (c) 1986, 1988, 1991, 1993
+       The Regents of the University of California.  All rights reserved.
+  (c) UNIX System Laboratories, Inc.
+  All or some portions of this file are derived from material licensed
+  to the University of California by American Telephone and Telegraph
+  Co. or Unix System Laboratories, Inc. and are reproduced herein with
+  the permission of UNIX System Laboratories, Inc.
+  
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+  3. All advertising materials mentioning features or use of this software
+     must display the following acknowledgement:
+       This product includes software developed by the University of
+       California, Berkeley and its contributors.
+  4. Neither the name of the University nor the names of its contributors
+     may be used to endorse or promote products derived from this software
+     without specific prior written permission.
+  
+  THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+  SUCH DAMAGE.
+  
+       @(#)subr_prf.c  8.3 (Berkeley) 1/21/94
+  
+  
+         	Extracted vsprinf & adapted by BenH for MountX, Wed, June 3 1998.
+         	Added support for pascal strings.
+  
+The file libunix/divsi3.S contains some parts from the libgcc routines
+for 68000, which is Copyright(C) 1994, 1996, 1997, 1998 Free Software
+Foundation, Inc.

Added: branches/vendor/emile/debian/emile-bootblocks.dirs
===================================================================
--- branches/vendor/emile/debian/emile-bootblocks.dirs	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/debian/emile-bootblocks.dirs	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,2 @@
+lib/emile
+boot/emile

Added: branches/vendor/emile/debian/emile-bootblocks.install
===================================================================
--- branches/vendor/emile/debian/emile-bootblocks.install	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/debian/emile-bootblocks.install	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,5 @@
+boot/emile/first_scsi
+boot/emile/m68k-second_scsi
+lib/emile/first_floppy
+lib/emile/m68k-second_floppy
+lib/emile/apple_driver

Added: branches/vendor/emile/debian/emile-bootblocks.postinst
===================================================================
--- branches/vendor/emile/debian/emile-bootblocks.postinst	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/debian/emile-bootblocks.postinst	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+ln -sf /boot/emile/m68k-second_scsi /boot/emile/second_scsi
+ln -sf /lib/emile/m68k-second_floppy /lib/emile/second_floppy
+#DEBHELPER#

Added: branches/vendor/emile/debian/emile.install
===================================================================
--- branches/vendor/emile/debian/emile.install	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/debian/emile.install	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,14 @@
+sbin/emile-set-cmdline
+sbin/emile-first-tune
+sbin/emile-install
+sbin/emile-set-output
+sbin/emile
+sbin/emile-map-set
+sbin/emile-mkisofs
+usr/share/man/man8/emile-first-tune.8.gz
+usr/share/man/man8/emile-install.8.gz
+usr/share/man/man8/emile-map-set.8.gz
+usr/share/man/man8/emile-set-cmdline.8.gz
+usr/share/man/man8/emile-set-output.8.gz
+usr/share/man/man8/emile.8.gz
+usr/share/man/man8/emile-mkisofs.8.gz

Added: branches/vendor/emile/debian/rules
===================================================================
--- branches/vendor/emile/debian/rules	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/debian/rules	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,101 @@
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper.
+# This file is public domain software, originally written by Joey Hess. 
+
+# Uncomment this to turn on verbose mode.
+
+DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
+DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+
+ifeq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH))
+	CROSS_COMPILE=
+else
+	CROSS_COMPILE=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)-
+endif
+
+ifeq ($(DEB_BUILD_ARCH),m68k)
+	M68K_CROSS_COMPILE=
+	target=all
+	target_install=install
+else
+	M68K_CROSS_COMPILE=m68k-linux-gnu-
+	M68K_GCC_PATH=$(shell $(M68K_CROSS_COMPILE)gcc -dumpversion)
+	ifeq ($(M68K_GCC_PATH),)
+		target=docs tools
+		target_install=tools-install docs-install
+		CHMOD_BOOT=0
+	else
+		target=all
+		target_install=install
+		CHMOD_BOOT=1
+	endif
+endif
+
+build: build-stamp
+build-stamp:
+	dh_testdir
+	# Add here commands to compile the package.
+	$(MAKE) M68K_CROSS_COMPILE="$(M68K_CROSS_COMPILE)" CROSS_COMPILE="$(CROSS_COMPILE)" CC=$(CROSS_COMPILE)gcc AS=$(CROSS_COMPILE)as ld=$(CROSS_COMPILE)ld $(target)
+	touch build-stamp
+
+clean:
+	dh_testdir
+	dh_testroot
+	rm -f build-stamp
+
+	# Add here commands to clean up after the build process.
+	-$(MAKE) clean
+
+	dh_clean
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+	dh_installdirs
+
+	# Add here commands to install the package into debian/<packagename>
+	$(MAKE) DESTDIR=`pwd`/debian/tmp $(target_install)
+	if test -d `pwd`/debian/tmp/boot/emile/; then chmod -x `pwd`/debian/tmp/boot/emile/*; fi
+	if test -d `pwd`/debian/tmp/lib/emile/; then chmod -x `pwd`/debian/tmp/lib/emile/*; fi
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+	dh_testroot -i
+	dh_installchangelogs -i
+	dh_installdocs -i
+	dh_installexamples -i
+	dh_install --sourcedir=debian/tmp -i
+	dh_installman -i
+	dh_link -i
+	dh_strip -i
+	dh_compress -i
+	dh_fixperms -i
+	dh_installdeb -i
+	dh_shlibdeps -i
+	dh_gencontrol -i
+	dh_md5sums -i
+	dh_builddeb -i
+
+# Build architecture-dependent files here.
+binary-arch: build install
+	dh_testdir -a
+	dh_testroot -a
+	dh_installchangelogs -a
+	dh_installdocs -a
+	dh_installexamples -a
+	dh_install --sourcedir=debian/tmp -a
+	dh_installman -a
+	dh_link -a
+	dh_strip -a
+	dh_compress -a
+	dh_fixperms -a
+	dh_installdeb -a
+	dh_shlibdeps -a
+	dh_gencontrol -a
+	dh_md5sums -a
+	dh_builddeb -a
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install

Modified: branches/vendor/emile/docs/Makefile
===================================================================
--- branches/vendor/emile/docs/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/docs/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,8 @@
 TOP=$(shell pwd)
 
 SOURCES	= emile-first-tune.sgml emile-install.sgml emile-map-set.sgml \
-	  emile-set-cmdline.sgml emile-set-output.sgml emile.sgml
+	  emile-set-cmdline.sgml emile-set-output.sgml emile.sgml \
+	  emile-mkisofs.sgml
 
 MANPAGES = $(SOURCES:.sgml=.8.gz)
 

Modified: branches/vendor/emile/docs/emile-first-tune.sgml
===================================================================
--- branches/vendor/emile/docs/emile-first-tune.sgml	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/docs/emile-first-tune.sgml	2007-04-11 20:23:39 UTC (rev 186)
@@ -119,7 +119,7 @@
     <title>SEE ALSO</title>
 
     <para>emile(8), emile-install(8), emile-set-cmdline(8), 
-    	emile-map-set(8), emile-set-output(8).</para>
+    	emile-map-set(8), emile-set-output(8), emile-mkisofs(8).</para>
 
   </refsect1>
 

Modified: branches/vendor/emile/docs/emile-install.sgml
===================================================================
--- branches/vendor/emile/docs/emile-install.sgml	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/docs/emile-install.sgml	2007-04-11 20:23:39 UTC (rev 186)
@@ -121,14 +121,6 @@
       </varlistentry>
 
       <varlistentry>
-        <term><option>-b</option>
-          <option>--buffer SIZE</option></term>
-        <listitem>
-          <para>Uncompressed size of kernel.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
         <term><option>-g</option>
           <option>--get-info</option></term>
         <listitem>
@@ -150,7 +142,7 @@
     <title>SEE ALSO</title>
 
     <para>emile(8), emile-first-tune(8), emile-map-set(8), 
-    emile-set-cmdline(8), emile-set-output(8).</para>
+    emile-set-cmdline(8), emile-set-output(8), emile-mkisofs(8).</para>
 
   </refsect1>
 

Modified: branches/vendor/emile/docs/emile-map-set.sgml
===================================================================
--- branches/vendor/emile/docs/emile-map-set.sgml	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/docs/emile-map-set.sgml	2007-04-11 20:23:39 UTC (rev 186)
@@ -120,7 +120,7 @@
     <title>SEE ALSO</title>
 
     <para>emile(8), emile-install(8), emile-first-tune(8), 
-    emile-set-cmdline(8), emile-set-output(8).</para>
+    emile-set-cmdline(8), emile-set-output(8), emile-mkisofs(8).</para>
 
   </refsect1>
 

Added: branches/vendor/emile/docs/emile-mkisofs.sgml
===================================================================
--- branches/vendor/emile/docs/emile-mkisofs.sgml	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/docs/emile-mkisofs.sgml	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,202 @@
+<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+
+<!-- Process this file with docbook-to-man to generate an nroff manual
+     page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
+     the manual page with: `docbook-to-man manpage.sgml | nroff -man |
+     less'.  A typical entry in a Makefile or Makefile.am is:
+
+manpage.1: manpage.sgml
+	docbook-to-man $< > $@
+  -->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "<firstname>Laurent</firstname>">
+  <!ENTITY dhsurname   "<surname>Vivier</surname>">
+  <!-- Please adjust the date whenever revising the manpage. -->
+  <!ENTITY dhdate      "<date>March 23, 2007</date>">
+  <!ENTITY dhsection   "<manvolnum>8</manvolnum>">
+  <!ENTITY dhemail     "<email>laurent at lvivier.info</email>">
+  <!ENTITY dhusername  "Laurent Vivier">
+  <!ENTITY dhucpackage "<refentrytitle>emile</refentrytitle>">
+  <!ENTITY dhpackage   "emile">
+  <!ENTITY dhprogram   "emile-mkisofs">
+
+  <!ENTITY debian      "<productname>Debian GNU/Linux</productname>">
+  <!ENTITY gnu         "<acronym>GNU</acronym>">
+]>
+
+<refentry>
+  <refentryinfo>
+    <address>
+      &dhemail;
+    </address>
+    <author>
+      &dhfirstname;
+      &dhsurname;
+    </author>
+    <copyright>
+      <year>2007</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    &dhdate;
+  </refentryinfo>
+  <refmeta>
+    &dhucpackage;
+
+    &dhsection;
+  </refmeta>
+  <refnamediv>
+    <refname>&dhprogram;</refname>
+
+    <refpurpose>install the <command>&dhpackage;</command> 
+		bootloader on a CD-ROM
+	</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhprogram;</command>
+	<arg><replaceable>options</replaceable></arg> <arg>filename</arg> <arg>pathspec</arg> <arg>...</arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+
+    <para><command>&dhprogram;</command> creates an
+    		<command>&dhpackage;</command> bootable CD-ROM image into file <option>filename</option>.
+		ISO9660 filesystem will be poppulated with files given
+		by <option>pathspec</option> (see mkisofs(1)).
+	</para>
+
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+
+    <variablelist>
+      <varlistentry>
+        <term><option>-h</option>
+          <option>--help</option></term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-v</option>
+          <option>--verbose</option></term>
+        <listitem>
+          <para>Activate verbose mode.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-f</option>
+          <option>--first PATH</option></term>
+        <listitem>
+          <para>EMILE first level to copy to CD-ROM.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-s</option>
+          <option>--second PATH</option></term>
+        <listitem>
+          <para>EMILE second level to copy to CD-ROM.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-k</option>
+          <option>--kernel PATH</option></term>
+        <listitem>
+          <para>Set path of kernel on the CD-ROM.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-r</option>
+          <option>--ramdisk PATH</option></term>
+        <listitem>
+          <para>Set path of ramdisk on the CD-ROM.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-a</option>
+          <option>--append ARG</option></term>
+        <listitem>
+          <para>Set kernel command line.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><option>-d</option>
+          <option>--appledriver DEV</option></term>
+        <listitem>
+          <para>Apple Driver to copy to CD-ROM.</para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+  </refsect1>
+
+  <refsect1>
+    <title>EXAMPLES</title>
+	<para>
+	<command>&dhprogram;</command> -k "/install/kernels/vmlinuz-2.2.25-mac" -r "/install/cdrom/initrd22.gz" -d Apple_Driver43 -a "root =/dev/ramdisk ramdisk_size=13000" boot.img /mnt/cdrom
+	</para>
+	<para>This command generates a bootable CD-ROM image in boot.img.
+	The pathes of the kernel, ramdisk in the CD-ROM filesystem are repectively "/install/kernels/vmlinuz-2.2.25-mac" and "/install/cdrom/initrd22.gz".
+	The Apple Driver is provided by the file Apple_Driver43.
+	The kernel command line is "root =/dev/ramdisk ramdisk_size=13000".
+	The ISO9660 filesystem of the CD-ROM poppulated with the files
+	found in /mnt/cdrom. This filesystem must provide "/install/kernels/vmlinuz-2.2.25-mac" and "/install/cdrom/initrd22.gz".
+	</para>
+  </refsect1>
+
+  <refsect1>
+    <title>FILES</title>
+    <para>/boot/emile/first_scsi</para>
+    <para>/boot/emile/m68k-second_scsi</para>
+  </refsect1>
+
+  <refsect1>
+    <title>SEE ALSO</title>
+
+    <para>emile-install(8), emile-set-cmdline(8), emile-first-tune(8), 
+    	emile-map-set(8), emile-set-output(8), emile-mkisofs(8).</para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>AUTHOR</title>
+
+    <para>This manual page was written by &dhusername; <&dhemail;> for
+      the &debian; system (but may be used by others).  Permission is
+      granted to copy, distribute and/or modify this document under
+      the terms of the <acronym>GNU</acronym> GPL License, Version 2 
+      or any later version published by the Free Software Foundation.
+    </para>
+    <para>
+	On Debian systems, the complete text of the GNU General Public
+	License can be found in /usr/share/common-licenses/GPL.
+    </para>
+
+  </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->

Modified: branches/vendor/emile/docs/emile-set-cmdline.sgml
===================================================================
--- branches/vendor/emile/docs/emile-set-cmdline.sgml	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/docs/emile-set-cmdline.sgml	2007-04-11 20:23:39 UTC (rev 186)
@@ -130,7 +130,7 @@
     <title>SEE ALSO</title>
 
     <para>emile(8), emile-install(8), emile-first-tune(8), 
-    	emile-map-set(8), emile-set-output(8).</para>
+    	emile-map-set(8), emile-set-output(8), , emile-mkisofs(8).</para>
 
   </refsect1>
 

Modified: branches/vendor/emile/docs/emile-set-output.sgml
===================================================================
--- branches/vendor/emile/docs/emile-set-output.sgml	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/docs/emile-set-output.sgml	2007-04-11 20:23:39 UTC (rev 186)
@@ -167,7 +167,7 @@
     <title>SEE ALSO</title>
 
     <para>emile(8), emile-install(8), emile-first-tune(8), 
-    emile-map-set(8), emile-set-cmdline(8).</para>
+    emile-map-set(8), emile-set-cmdline(8), emile-mkisofs(8).</para>
 
   </refsect1>
 

Modified: branches/vendor/emile/docs/emile.sgml
===================================================================
--- branches/vendor/emile/docs/emile.sgml	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/docs/emile.sgml	2007-04-11 20:23:39 UTC (rev 186)
@@ -178,7 +178,7 @@
     <title>SEE ALSO</title>
 
     <para>emile-install(8), emile-set-cmdline(8), emile-first-tune(8), 
-    	emile-map-set(8), emile-set-output(8).</para>
+    	emile-map-set(8), emile-set-output(8), emile-mkisofs(8).</para>
 
   </refsect1>
 

Modified: branches/vendor/emile/first/32bitmode.i
===================================================================
--- branches/vendor/emile/first/32bitmode.i	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/first/32bitmode.i	2007-04-11 20:23:39 UTC (rev 186)
@@ -10,7 +10,7 @@
 
 	/* is a 32bit aware processor ? */
 
-	cmp.w	#1, CPUFlags	/* Is 68000 or 68010 */
+	cmp.w	#1, CPUFlag	/* Is 68000 or 68010 */
 	bls.S	bit32_ok
 
 	/* test if we are in 32bit mode */

Modified: branches/vendor/emile/first/Makefile
===================================================================
--- branches/vendor/emile/first/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/first/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 #
 #
-# (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+# (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
 #
 #
 

Modified: branches/vendor/emile/first/first.S
===================================================================
--- branches/vendor/emile/first/first.S	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/first/first.S	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,10 +1,10 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
-	.chip 68000
+	.cpu 68000
 
 .equ	sector_size, 512
 .equ	first_level_size, 2 * sector_size

Modified: branches/vendor/emile/first/floppy.i
===================================================================
--- branches/vendor/emile/first/floppy.i	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/first/floppy.i	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/first/macos.i
===================================================================
--- branches/vendor/emile/first/macos.i	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/first/macos.i	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/first/scsi.i
===================================================================
--- branches/vendor/emile/first/scsi.i	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/first/scsi.i	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libblock/Makefile
===================================================================
--- branches/vendor/emile/libblock/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libblock/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,10 +1,11 @@
 #
-#  (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+#  (c) 2005 Laurent Vivier <Laurent at lvivier.info>
 #
 
 TOP=$(shell pwd)
 
-CFLAGS	= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar -fpic -O2 -m68000 -Wa,-m68000 -Os
+68000FLAGS = -m68000 -Wa,-m68000
+CFLAGS	+= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar -fpic -O2 -Os
 CPPFLAGS = -I$(TOP)/../libmacos -DARCH_M68K -I$(TOP)/../libstream
 
 LIBRARY = libblock.a

Modified: branches/vendor/emile/libblock/block_close.c
===================================================================
--- branches/vendor/emile/libblock/block_close.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libblock/block_close.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libblock/block_fstat.c
===================================================================
--- branches/vendor/emile/libblock/block_fstat.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libblock/block_fstat.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libblock/block_lseek.c
===================================================================
--- branches/vendor/emile/libblock/block_lseek.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libblock/block_lseek.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libblock/block_open.c
===================================================================
--- branches/vendor/emile/libblock/block_open.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libblock/block_open.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libblock/block_read.c
===================================================================
--- branches/vendor/emile/libblock/block_read.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libblock/block_read.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libblock/libblock.h
===================================================================
--- branches/vendor/emile/libblock/libblock.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libblock/libblock.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libcontainer/Makefile
===================================================================
--- branches/vendor/emile/libcontainer/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libcontainer/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,11 +1,12 @@
 #
-#  (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+#  (c) 2005 Laurent Vivier <Laurent at lvivier.info>
 #
 
 TOP=$(shell pwd)
 VPATH=$(TOP)
 
-CFLAGS	= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar -fpic -O2 -m68000 -Wa,-m68000 -Os
+68000FLAGS = -m68000 -Wa,-m68000
+CFLAGS	= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar -fpic -O2 -Os
 CPPFLAGS = -I$(TOP)/../libstream
 
 LIBRARY = libcontainer.a

Modified: branches/vendor/emile/libcontainer/container_close.c
===================================================================
--- branches/vendor/emile/libcontainer/container_close.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libcontainer/container_close.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libcontainer/container_fstat.c
===================================================================
--- branches/vendor/emile/libcontainer/container_fstat.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libcontainer/container_fstat.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libcontainer/container_lseek.c
===================================================================
--- branches/vendor/emile/libcontainer/container_lseek.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libcontainer/container_lseek.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libcontainer/container_open.c
===================================================================
--- branches/vendor/emile/libcontainer/container_open.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libcontainer/container_open.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libcontainer/container_read.c
===================================================================
--- branches/vendor/emile/libcontainer/container_read.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libcontainer/container_read.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libcontainer/libcontainer.h
===================================================================
--- branches/vendor/emile/libcontainer/libcontainer.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libcontainer/libcontainer.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/Makefile
===================================================================
--- branches/vendor/emile/libemile/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,5 +1,5 @@
 #
-#  (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+#  (c) 2004 Laurent Vivier <Laurent at lvivier.info>
 #
 #
 
@@ -38,11 +38,13 @@
 	  emile_scsi_get_rdev.c emile_second_get_configuration.c \
 	  emile_second_set_configuration.c emile_second_get_next_property.c \
 	  emile_second_get_property.c emile_second_set_property.c \
-	  emile_second_remove_property.c emile_second_create_mapfile.c
+	  emile_second_remove_property.c emile_second_create_mapfile.c \
+	  emile_second_set_param.c emile_second_get_param.c \
+	  emile_first_set_param_scsi_extents.c emile_map_get_driver_signature.c
 
 HEADERS = emile.h libemile.h partition.h bootblock.h
 
-CFLAGS  = -Wall -g
+CFLAGS  = -Wall -Werror -g
 CPPFLAGS = -I../libmacos -I../libcontainer -I../libstream
 
 all: $(LIBRARY)

Modified: branches/vendor/emile/libemile/bootblock.h
===================================================================
--- branches/vendor/emile/libemile/bootblock.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/bootblock.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile.h
===================================================================
--- branches/vendor/emile/libemile/emile.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile_block0_write.c
===================================================================
--- branches/vendor/emile/libemile/emile_block0_write.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_block0_write.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile_checksum.c
===================================================================
--- branches/vendor/emile/libemile/emile_checksum.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_checksum.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,14 +1,13 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #include "libemile.h"
 
-#ifdef USE_16BIT_CHECKSUM
-int emile_checksum(unsigned char *addr, unsigned short length)
+unsigned short emile_checksum(unsigned char *addr, unsigned int length)
 {
 	int j;
 	unsigned short sum = 0;
@@ -23,8 +22,8 @@
 
 	return sum;
 }
-#else
-unsigned short emile_checksum(unsigned char *addr, unsigned int length)
+
+unsigned short emile_checksum_ATA(unsigned char *addr, unsigned int length)
 {
 	unsigned int sum = 0;
 	unsigned int i;
@@ -38,4 +37,3 @@
 
 	return sum;
 }
-#endif

Modified: branches/vendor/emile/libemile/emile_first_get_param.c
===================================================================
--- branches/vendor/emile/libemile/emile_first_get_param.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_first_get_param.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -24,11 +24,11 @@
 	if (ret != sizeof(firstBlock))
 		return EEMILE_CANNOT_READ_FIRST;
 
-	if ( strncmp( firstBlock.boot_block_header.SysName+1,
+	if ( strncmp( (char*)firstBlock.boot_block_header.SysName+1,
 		      "Mac Bootloader", 14) == 0 )
 	{
-		*drive_num = read_short(&firstBlock.second_param_block.ioVRefNum);
-		*second_offset = read_long(&firstBlock.second_param_block.ioPosOffset);
+		*drive_num = read_short((u_int16_t*)&firstBlock.second_param_block.ioVRefNum);
+		*second_offset = read_long((u_int32_t*)&firstBlock.second_param_block.ioPosOffset);
 		*second_size = read_long(&firstBlock.second_param_block.ioReqCount);
 	}
 	else

Modified: branches/vendor/emile/libemile/emile_first_set_param.c
===================================================================
--- branches/vendor/emile/libemile/emile_first_set_param.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_first_set_param.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -29,15 +29,15 @@
 	if (ret != sizeof(firstBlock))
 		return EEMILE_CANNOT_READ_FIRST;
 
-	if ( strncmp( firstBlock.boot_block_header.SysName+1,
+	if ( strncmp( (char*)firstBlock.boot_block_header.SysName+1,
 		      "Mac Bootloader", 14) == 0 )
 	{
 		if (tune_mask & EMILE_FIRST_TUNE_DRIVE)
-			write_short(&firstBlock.second_param_block.ioVRefNum, 
+			write_short((u_int16_t*)&firstBlock.second_param_block.ioVRefNum, 
 				    drive_num);
 
 		if (tune_mask & EMILE_FIRST_TUNE_OFFSET)
-			write_long(&firstBlock.second_param_block.ioPosOffset, 
+			write_long((u_int32_t*)&firstBlock.second_param_block.ioPosOffset, 
 				   second_offset);
 
 		if (tune_mask & EMILE_FIRST_TUNE_SIZE)

Modified: branches/vendor/emile/libemile/emile_first_set_param_scsi.c
===================================================================
--- branches/vendor/emile/libemile/emile_first_set_param_scsi.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_first_set_param_scsi.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -31,7 +31,12 @@
 	unsigned short *block_size = (unsigned short*)&first[1014];
 	unsigned short *count;
 	unsigned long *offset;
+	off_t location;
 
+	location = lseek(fd, 0, SEEK_CUR);
+	if (location == -1)
+		return EEMILE_CANNOT_READ_FIRST;
+
 	ret = read(fd, first, 1024);
 	if (ret == -1)
 		return EEMILE_CANNOT_READ_FIRST;
@@ -60,24 +65,23 @@
 	for(i = 0; i < max_blocks - 1; i++)
 	{
 		current -= 2;
-		count = (short*)(&first[current]);
+		count = (unsigned short*)(&first[current]);
 		*count = container->blocks[i].count;
 		if (container->blocks[i].count == 0)
 			break;
 		current -= 4;
-		offset = (long*)(&first[current]);
+		offset = (unsigned long*)(&first[current]);
 		*offset = container->blocks[i].offset;
 		(*second_size) += container->blocks[i].count;
 	}
-	putchar('\n');
 	/* mark end of blocks list */
 	current -= 2;
-	count = (short*)(&first[current]);
+	count = (unsigned short*)(&first[current]);
 	*count = 0;
 	/* set second level size */
 	(*second_size) *= BLOCK_SIZE;
 
-	ret = lseek(fd, 0, SEEK_SET);
+	ret = lseek(fd, location, SEEK_SET);
 	if (ret != 0) 
 		return EEMILE_CANNOT_WRITE_FIRST;
 

Added: branches/vendor/emile/libemile/emile_first_set_param_scsi_extents.c
===================================================================
--- branches/vendor/emile/libemile/emile_first_set_param_scsi_extents.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_first_set_param_scsi_extents.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,62 @@
+static __attribute__((used)) char* rcsid = "$CVSHeader$";
+/*
+ *
+ * (c) 2004-2006 Laurent Vivier <Laurent at lvivier.info>
+ *
+ */
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+
+#include "libemile.h"
+#include "emile.h"
+
+int emile_first_set_param_scsi_extents( int fd, int drive_num, int second_offset, int size, int blocksize)
+{
+	int ret;
+	char first[1024];
+	int current;
+	unsigned short max_blocks;
+	int location;
+
+	location = lseek(fd, 0, SEEK_CUR);
+	if (location == -1)
+		return EEMILE_CANNOT_READ_FIRST;
+
+	ret = read(fd, first, 1024);
+	if (ret == -1)
+		return EEMILE_CANNOT_READ_FIRST;
+
+	max_blocks = read_short((u_int16_t*)&first[1022]) / 6;
+
+	write_short((u_int16_t*)&first[1014], blocksize);
+	write_short((u_int16_t*)&first[1016], drive_num);
+
+	write_long((u_int32_t*)&first[1018], 0);
+	current = 1014;
+
+	current -= 2;
+	write_short((u_int16_t*)&first[current], (size + blocksize - 1) / blocksize);
+	current -= 4;
+	write_long((u_int32_t*)&first[current], second_offset);
+
+	/* mark end of blocks list */
+	current -= 2;
+	write_short((u_int16_t*)(&first[current]), 0);
+	/* set second level size */
+	write_long((u_int32_t*)&first[1018], (size + blocksize - 1) / blocksize * blocksize);
+	
+	ret = lseek(fd, location, SEEK_SET);
+	if (ret != location)
+		return EEMILE_CANNOT_WRITE_FIRST;
+
+	ret = write(fd, first, 1024);
+	if (ret == -1)
+		return EEMILE_CANNOT_WRITE_FIRST;
+
+	return 0;
+}

Modified: branches/vendor/emile/libemile/emile_floppy_create_image.c
===================================================================
--- branches/vendor/emile/libemile/emile_floppy_create_image.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_floppy_create_image.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -90,6 +90,14 @@
 	return total;
 }
 
+int emile_is_url(char *path)
+{
+	return path && ((strncmp(path, "iso9660:", strlen("iso9660:")) == 0) ||
+	       (strncmp(path, "container:", strlen("container:")) == 0) ||
+	       (strncmp(path, "block:", strlen("block:")) == 0) ||
+	       (strncmp(path, "ext2:", strlen("ext2")) == 0));
+}
+
 static int aggregate(int fd, char* first_level, char* second_level, char* kernel_image, char* ramdisk)
 {
 	int ret;
@@ -105,7 +113,7 @@
 		return EEMILE_CANNOT_WRITE_SECOND;
 	total += ret;
 
-	if (kernel_image != NULL)
+	if (kernel_image && !emile_is_url(kernel_image))
 	{
 		ret = copy_file(fd, kernel_image);
 		if (ret < 0)
@@ -113,7 +121,7 @@
 		total += ret;
 	}
 
-	if (ramdisk != NULL)
+	if (ramdisk && !emile_is_url(ramdisk))
 	{
 		ret = copy_file(fd, ramdisk);
 		if (ret < 0)
@@ -128,13 +136,6 @@
 	return 0;
 }
 
-static int is_url(char *path)
-{
-	return path && ((strncmp(path, "iso9660:", strlen("iso9660:")) == 0) ||
-	       (strncmp(path, "container:", strlen("container:")) == 0) ||
-	       (strncmp(path, "block:", strlen("block:")) == 0) ||
-	       (strncmp(path, "ext2:", strlen("ext2")) == 0));
-}
 int emile_floppy_create_image(char* first_level, char* second_level, 
 			      char* kernel_image, char* ramdisk, 
 			      char* image)
@@ -143,7 +144,8 @@
 	int fd;
 	char *kernel_url = NULL;
 	char *ramdisk_url = NULL;
-	char configuration[1024];
+	char tmp_kernel[64];
+	char tmp_ramdisk[64];
 
 	if (image == NULL)
 		return -1;
@@ -170,16 +172,30 @@
 	if (kernel_image == NULL)
 		fprintf(stderr, "WARNING: kernel image file not defined\n");
 
-	if ( is_url(kernel_image) )
+	if ( emile_is_url(kernel_image) )
 	{
 		kernel_url = kernel_image;
-		kernel_image = NULL;
 	}
-	if ( is_url(ramdisk) )
+	else
 	{
+		sprintf(tmp_kernel, "block:(fd0)0x%lx", 
+			FIRST_LEVEL_SIZE + emile_file_get_size(second_level));
+		kernel_url = tmp_kernel;
+	}
+
+	if ( ramdisk && emile_is_url(ramdisk) )
+	{
 		ramdisk_url = ramdisk;
-		ramdisk = NULL;
 	}
+	else if (ramdisk)
+	{
+		sprintf(tmp_ramdisk,
+			"block:(fd0)0x%lx,0x%lx\n", FIRST_LEVEL_SIZE + 
+			emile_file_get_size(second_level) + 
+			emile_file_get_size(kernel_image),
+			emile_file_get_size(ramdisk));
+		ramdisk_url = tmp_ramdisk;
+	}
 
 	ret = aggregate(fd, first_level, second_level, kernel_image, ramdisk);
 	if (ret != 0)
@@ -204,28 +220,8 @@
 
 	/* set second level info */
 
-	*configuration = 0;
-	if (kernel_image)
-	{
-		sprintf(configuration, "kernel block:(fd0)0x%lx\n", 
-			FIRST_LEVEL_SIZE + emile_file_get_size(second_level));
-	}
-	else if (kernel_url)
-		sprintf(configuration, "kernel %s\n", kernel_url);
+	ret = emile_second_set_param(fd, kernel_url, NULL, ramdisk_url);
 
-	if (ramdisk)
-		sprintf(configuration + strlen(configuration), 
-			"initrd block:(fd0)0x%lx,0x%lx\n", FIRST_LEVEL_SIZE + 
-			emile_file_get_size(second_level) + 
-			emile_file_get_size(kernel_image),
-			emile_file_get_size(ramdisk));
-	else if (ramdisk_url)
-		sprintf(configuration + strlen(configuration),
-					"initrd %s\n", ramdisk_url);
-
-	sprintf(configuration + strlen(configuration), "vga default");
-	ret = emile_second_set_configuration(fd, configuration);
-
 	close(fd);
 
 	return ret;

Modified: branches/vendor/emile/libemile/emile_map_bootblock_get_type.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_bootblock_get_type.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_bootblock_get_type.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile_map_bootblock_is_valid.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_bootblock_is_valid.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_bootblock_is_valid.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile_map_bootblock_read.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_bootblock_read.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_bootblock_read.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004-2006 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -13,21 +13,22 @@
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_bootblock_read(emile_map_t* map, char* bootblock)
 {
-	char name[16];
+	off_t offset;
 	int ret;
 	int fd;
 
 	if (!emile_map_partition_is_valid(map))
 		return -1;
 
-	sprintf(name, "%s%d", map->name, map->current + 1);
-
-	fd = open(name, O_RDONLY);
+	fd = open(map->name, O_RDONLY);
 	if (fd == -1)
 		return -1;
+	offset = read_long((u_int32_t*)&map->partition.PyPartStart) * 512;
+	lseek(fd, offset, SEEK_SET);
 
 	ret = read(fd, bootblock, BOOTBLOCK_SIZE);
 

Modified: branches/vendor/emile/libemile/emile_map_bootblock_write.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_bootblock_write.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_bootblock_write.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -16,7 +16,7 @@
 
 int emile_map_bootblock_write(emile_map_t* map, char* bootblock)
 {
-	char name[16];
+	char name[MAP_NAME_LEN];
 	int ret;
 	int fd;
 

Modified: branches/vendor/emile/libemile/emile_map_close.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_close.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_close.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile_map_dev.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_dev.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_dev.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile_map_geometry.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_geometry.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_geometry.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,20 +1,21 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_geometry(emile_map_t *map, int *block_size, int *block_count)
 {
 	if (!emile_map_is_valid(map))
 		return -1;
 
-	*block_size = map->drivers.BlkSize;
-	*block_count = map->drivers.BlkCount;
+	*block_size = read_short((u_int16_t*)&map->drivers.BlkSize);
+	*block_count = read_long((u_int32_t*)&map->drivers.BlkCount);
 
 	return 0;
 }

Modified: branches/vendor/emile/libemile/emile_map_get_bootinfo.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_get_bootinfo.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_get_bootinfo.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -9,6 +9,7 @@
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_get_bootinfo(emile_map_t *map, int* bootstart, int *bootsize,
 		           int *bootaddr, int *bootentry, int* checksum,
@@ -17,11 +18,11 @@
 	 if (!emile_map_is_valid(map))
 		 return -1;
 
-	*bootstart = map->partition.LgBootStart;
-	*bootsize = map->partition.BootSize;
-	*bootaddr = map->partition.BootAddr;
-	*bootentry = map->partition.BootEntry;
-	*checksum = map->partition.BootCksum;
+	*bootstart = read_long((u_int32_t*)&map->partition.LgBootStart);
+	*bootsize = read_long((u_int32_t*)&map->partition.BootSize);
+	*bootaddr = read_long((u_int32_t*)&map->partition.BootAddr);
+	*bootentry = read_long((u_int32_t*)&map->partition.BootEntry);
+	*checksum = read_long((u_int32_t*)&map->partition.BootCksum);
 	strcpy(processor, map->partition.Processor);
 
 	return 0;

Modified: branches/vendor/emile/libemile/emile_map_get_driver_info.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_get_driver_info.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_get_driver_info.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,12 +1,13 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_get_driver_info(emile_map_t *map, int number,
 			      int *block, int *size, int* type)
@@ -17,9 +18,9 @@
 	if (number > emile_map_get_driver_number(map))
 		return -1;
 
-	*block = map->drivers.DrvInfo[number].Block;
-	*size = map->drivers.DrvInfo[number].Size;
-	*type = map->drivers.DrvInfo[number].Type;
+	*block = read_long((u_int32_t*)&map->drivers.DrvInfo[number].Block);
+	*size = read_short((u_int16_t*)&map->drivers.DrvInfo[number].Size);
+	*type = read_short((u_int16_t*)&map->drivers.DrvInfo[number].Type);
 
 	return 0;
 }

Modified: branches/vendor/emile/libemile/emile_map_get_driver_number.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_get_driver_number.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_get_driver_number.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,17 +1,18 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_get_driver_number(emile_map_t *map)
 {
 	if (!emile_map_is_valid(map))
 		return -1;
 
-	return map->drivers.DrvrCount;
+	return read_short((u_int16_t*)&map->drivers.DrvrCount);
 }

Added: branches/vendor/emile/libemile/emile_map_get_driver_signature.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_get_driver_signature.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_get_driver_signature.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,20 @@
+static __attribute__((used)) char* rcsid = "$CVSHeader$";
+/*
+ *
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
+ *
+ */
+
+#include <stdio.h>
+
+#include "partition.h"
+#include "libemile.h"
+#include "emile.h"
+
+unsigned long emile_map_get_driver_signature(emile_map_t* map)
+{
+	if (!emile_map_partition_is_valid(map))
+		return 0;
+
+	return read_long((u_int32_t*)map->partition.Pad);
+}

Modified: branches/vendor/emile/libemile/emile_map_get_number.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_get_number.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_get_number.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -10,8 +10,9 @@
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_get_number(emile_map_t *map)
 {
-	return map->partition.MapBlkCnt;
+	return read_long((u_int32_t*)&map->partition.MapBlkCnt);
 }

Modified: branches/vendor/emile/libemile/emile_map_get_partition_geometry.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_get_partition_geometry.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_get_partition_geometry.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,20 +1,21 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_get_partition_geometry(emile_map_t *map, int *start, int *count)
 {
 	if (!emile_map_partition_is_valid(map))
 		return -1;
 
-	*start = map->partition.PyPartStart;
-	*count = map->partition.PartBlkCnt;
+	*start = read_long((u_int32_t*)&map->partition.PyPartStart);
+	*count = read_long((u_int32_t*)&map->partition.PartBlkCnt);
 
 	return 0;
 }

Modified: branches/vendor/emile/libemile/emile_map_get_partition_name.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_get_partition_name.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_get_partition_name.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile_map_get_partition_type.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_get_partition_type.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_get_partition_type.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile_map_has_apple_driver.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_has_apple_driver.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_has_apple_driver.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -15,6 +15,12 @@
 #include "partition.h"
 #include "libemile.h"
 
+int emile_is_apple_driver(emile_map_t *map)
+{
+	return strncmp(map->partition.PartType, 
+		       APPLE_DRIVER, strlen(APPLE_DRIVER)) == 0;
+}
+
 int emile_map_has_apple_driver(emile_map_t *map)
 {
 	int block, size, type, part;
@@ -31,8 +37,7 @@
 		if (ret == -1)
 			return -1;
 
-		if (strncmp(map->partition.PartType, 
-			      APPLE_DRIVER, strlen(APPLE_DRIVER)) == 0)
+		if (emile_is_apple_driver(map))
 			return 1;
 	}
 

Modified: branches/vendor/emile/libemile/emile_map_is_valid.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_is_valid.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_is_valid.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,14 +1,15 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_is_valid(emile_map_t *map)
 {
-	return map->drivers.Sig == DD_SIGNATURE;
+	return read_short((u_int16_t*)&map->drivers.Sig) == DD_SIGNATURE;
 }

Modified: branches/vendor/emile/libemile/emile_map_open.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_open.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_open.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -35,7 +35,8 @@
 		free(map);
 		return NULL;
 	}
-	strncpy(map->name, dev, 16);
+	strncpy(map->name, dev, MAP_NAME_LEN);
+	map->name[MAP_NAME_LEN - 1] = 0;
 
 	ret = read(map->fd, &map->drivers, sizeof(map->drivers));
 	if (ret == -1)

Modified: branches/vendor/emile/libemile/emile_map_partition_get_flags.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_partition_get_flags.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_partition_get_flags.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,14 +1,15 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_partition_get_flags(emile_map_t *map)
 {
-	return map->partition.PartStatus;
+	return read_long((u_int32_t*)&map->partition.PartStatus);
 }

Modified: branches/vendor/emile/libemile/emile_map_partition_is_bootable.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_partition_is_bootable.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_partition_is_bootable.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -10,5 +10,6 @@
 
 int emile_map_partition_is_bootable(emile_map_t *map)
 {
-	return (map->partition.PartStatus & kPartitionAUXIsBootValid) == kPartitionAUXIsBootValid;
+	return (emile_map_partition_get_flags(map) & 
+		kPartitionAUXIsBootValid) == kPartitionAUXIsBootValid;
 }

Modified: branches/vendor/emile/libemile/emile_map_partition_is_startup.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_partition_is_startup.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_partition_is_startup.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -10,5 +10,6 @@
 
 int emile_map_partition_is_startup(emile_map_t *map)
 {
-	return (map->partition.PartStatus & kPartitionIsStartup) == kPartitionIsStartup;
+	return (emile_map_partition_get_flags(map)
+		& kPartitionIsStartup) == kPartitionIsStartup;
 }

Modified: branches/vendor/emile/libemile/emile_map_partition_is_valid.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_partition_is_valid.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_partition_is_valid.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,14 +1,15 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_partition_is_valid(emile_map_t *map)
 {
-	return map->partition.Sig == MAP_SIGNATURE;
+	return read_short((u_int16_t*)&map->partition.Sig) == MAP_SIGNATURE;
 }

Modified: branches/vendor/emile/libemile/emile_map_partition_set_bootable.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_partition_set_bootable.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_partition_set_bootable.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,12 +1,13 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_partition_set_bootable(emile_map_t *map, int enable)
 {
@@ -14,9 +15,13 @@
 		return -1;
 
 	if (enable)
-		map->partition.PartStatus |= kPartitionAUXIsBootValid;
+		emile_map_partition_set_flags(map,
+				kPartitionAUXIsValid | kPartitionAUXIsAllocated | 
+				kPartitionAUXIsInUse | kPartitionAUXIsReadable | 
+				kPartitionAUXIsWriteable | kPartitionIsMountedAtStartup | 0x80);
 	else
-		map->partition.PartStatus &= ~kPartitionAUXIsBootValid;
+		emile_map_partition_set_flags(map, 
+			emile_map_partition_get_flags(map) & ~kPartitionIsMountedAtStartup);
 
 	return 0;
 }

Modified: branches/vendor/emile/libemile/emile_map_partition_set_flags.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_partition_set_flags.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_partition_set_flags.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,16 +1,17 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_partition_set_flags(emile_map_t *map, int flags)
 {
-	map->partition.PartStatus = flags;
+	write_long((u_int32_t*)&map->partition.PartStatus, flags);
 
 	return 0;
 }

Modified: branches/vendor/emile/libemile/emile_map_partition_set_startup.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_partition_set_startup.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_partition_set_startup.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -14,9 +14,11 @@
 		return -1;
 
 	if (enable)
-		map->partition.PartStatus |= kPartitionIsStartup;
+		emile_map_partition_set_flags(map, 
+				emile_map_partition_get_flags(map) | kPartitionIsStartup);
 	else
-		map->partition.PartStatus &= ~kPartitionIsStartup;
+		emile_map_partition_set_flags(map, 
+				emile_map_partition_get_flags(map) & ~kPartitionIsStartup);
 
 	return 0;
 }

Modified: branches/vendor/emile/libemile/emile_map_read.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_read.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_read.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -10,6 +10,7 @@
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_read(emile_map_t *map, int part)
 {
@@ -19,7 +20,7 @@
 	if (map->current == part)
 		return part;
 
-	if (part > map->partition.MapBlkCnt)
+	if (part > read_long((u_int32_t*)&map->partition.MapBlkCnt))
 		return -1;
 
 	offset = part * sizeof(struct Partition) + sizeof(struct DriverDescriptor);

Modified: branches/vendor/emile/libemile/emile_map_seek_driver_partition.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_seek_driver_partition.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_seek_driver_partition.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile_map_set_bootinfo.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_set_bootinfo.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_set_bootinfo.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -9,6 +9,7 @@
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_set_bootinfo(emile_map_t *map, int bootstart, int bootsize,
 		           int bootaddr, int bootentry, int checksum,
@@ -17,11 +18,11 @@
 	 if (!emile_map_is_valid(map))
 		 return -1;
 
-	map->partition.LgBootStart = bootstart;
-	map->partition.BootSize = bootsize;
-	map->partition.BootAddr = bootaddr;
-	map->partition.BootEntry = bootentry;
-	map->partition.BootCksum = checksum;
+	write_long((u_int32_t*)&map->partition.LgBootStart, bootstart);
+	write_long((u_int32_t*)&map->partition.BootSize, bootsize);
+	write_long((u_int32_t*)&map->partition.BootAddr, bootaddr);
+	write_long((u_int32_t*)&map->partition.BootEntry, bootentry);
+	write_long((u_int32_t*)&map->partition.BootCksum, checksum);
 	memset(map->partition.Processor, 0, sizeof(map->partition.Processor));
 	strcpy(map->partition.Processor, processor);
 

Modified: branches/vendor/emile/libemile/emile_map_set_driver_info.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_set_driver_info.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_set_driver_info.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,12 +1,13 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_set_driver_info(emile_map_t *map, int number,
 			      int block, int size, int type)
@@ -17,9 +18,9 @@
 	if (number >= DD_MAX_DRIVER)
 		return -1;
 
-	map->drivers.DrvInfo[number].Block = block;
-	map->drivers.DrvInfo[number].Size = size;
-	map->drivers.DrvInfo[number].Type = type;
+	write_long((u_int32_t*)&map->drivers.DrvInfo[number].Block, block);
+	write_short((u_int16_t*)&map->drivers.DrvInfo[number].Size, size);
+	write_short((u_int16_t*)&map->drivers.DrvInfo[number].Type, type);
 
 	return 0;
 }

Modified: branches/vendor/emile/libemile/emile_map_set_driver_number.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_set_driver_number.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_set_driver_number.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,12 +1,13 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #include "partition.h"
 #include "libemile.h"
+#include "emile.h"
 
 int emile_map_set_driver_number(emile_map_t *map, int number)
 {
@@ -16,7 +17,7 @@
 	if (number >= DD_MAX_DRIVER)
 		return -1;
 
-	map->drivers.DrvrCount = number;
+	write_short((u_int16_t*)&map->drivers.DrvrCount, number);
 
 	return 0;
 }

Modified: branches/vendor/emile/libemile/emile_map_set_partition_name.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_set_partition_name.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_set_partition_name.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile_map_set_partition_type.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_set_partition_type.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_set_partition_type.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile_map_set_startup.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_set_startup.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_set_startup.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile_map_write.c
===================================================================
--- branches/vendor/emile/libemile/emile_map_write.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_map_write.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile_scsi_create_container.c
===================================================================
--- branches/vendor/emile/libemile/emile_scsi_create_container.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_scsi_create_container.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -39,7 +39,7 @@
 	return ret;
 }
 
-static int get_device_info(int fd, short *id, unsigned long *first_block, 
+static int get_device_info(int fd, unsigned short *id, unsigned long *first_block, 
 				       int *block_size)
 {
 	int ret;
@@ -49,14 +49,14 @@
 	unsigned char channel;
 	unsigned char pun;
 	unsigned char lun;
-	char *driver;
+	int driver;
 	int disk;
 	int partition;
 
 	ret = emile_scsi_get_dev(fd, &driver, &disk, &partition);
 	if (ret == -1)
 		return -1;
-	sprintf(dev_name, "%s%c%d", driver, disk + 'a', partition);
+	emile_get_dev_name(dev_name, driver, disk, partition);
 
 	fd = open(dev_name, O_RDONLY);
 	if (fd == -1) {
@@ -101,7 +101,7 @@
 		return -1;				\
 	}
 
-int emile_scsi_create_container(int fd, short *unit_id, 
+int emile_scsi_create_container(int fd, unsigned short *unit_id, 
 				struct emile_container* container, int maxblocks)
 {
 	int ret;

Modified: branches/vendor/emile/libemile/emile_scsi_get_dev.c
===================================================================
--- branches/vendor/emile/libemile/emile_scsi_get_dev.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_scsi_get_dev.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,7 +1,7 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -12,14 +12,41 @@
 
 #include "libemile.h"
 
-/* SCSI disks */
+int emile_get_dev_name(char *buffer, int driver, int disk, int partition)
+{
+	switch(driver)
+	{
+		case MAJOR_IDE0:
+			if (partition == 0)
+				sprintf(buffer, "/dev/hd%c", 'a' + disk);
+			else
+				sprintf(buffer, "/dev/hd%c%d", 'a' + disk, 
+						partition);
+			break;
+		case MAJOR_IDE1:
+			if (partition == 0)
+				sprintf(buffer, "/dev/hd%c", 'c' + disk);
+			else
+				sprintf(buffer, "/dev/hd%c%d", 'c' + disk, 
+						partition);
+			break;
+		case MAJOR_LOOP:
+			sprintf(buffer, "/dev/loop%d", disk);
+			break;
+		case MAJOR_SD:
+			if (partition == 0)
+				sprintf(buffer, "/dev/sd%c", 'a' + disk);
+			else
+				sprintf(buffer, "/dev/sd%c%d", 'a' + disk, 
+						partition);
+			break;
+		default:
+			return -1;
+	}
+	return 0;
+}
 
-#define MAJOR_HD	3
-#define MAJOR_SD	8
-static char *scsi_base = "/dev/sd";
-static char *ata_base = "/dev/hd";
-
-int emile_scsi_get_dev(int fd, char** driver, int *disk, int *partition)
+int emile_scsi_get_dev(int fd, int* driver, int *disk, int *partition)
 {
 	struct stat st;
 	int ret;
@@ -33,21 +60,27 @@
 
 	dev = S_ISREG(st.st_mode) ? st.st_dev : st.st_rdev;
 
-	major = (dev >> 8) & 0x0F;	/* major number = driver id */
+	major = (dev >> 8) & 0xFF;	/* major number = driver id */
 	minor = dev & 0xFF;		/* minor number = disk id */
 
+	*driver = major;
 	switch(major)
 	{
 	case MAJOR_SD:	/* SCSI disks */
-		*driver = scsi_base;
 		*disk = minor >> 4;
 		*partition = minor & 0x0F;
 		break;
-	case MAJOR_HD:	/* ATA disks */
-		*driver = ata_base;
+	case MAJOR_LOOP: /* loop device */
+		*disk = minor & 0xFF;
+		*partition = 0;
+		break;
+	case MAJOR_IDE0:
 		*disk = minor >> 6;
 		*partition = minor & 0x3F;
 		break;
+	case MAJOR_IDE1:
+		*disk = minor >> 6;
+		*partition = minor & 0x3F;
 	default:
 		fprintf(stderr, "Unknown device major number %d\n", major);
 		return -1;

Modified: branches/vendor/emile/libemile/emile_scsi_get_rdev.c
===================================================================
--- branches/vendor/emile/libemile/emile_scsi_get_rdev.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_scsi_get_rdev.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,19 +1,14 @@
 static __attribute__((used)) char* rcsid = "$CVSHeader$";
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #include "partition.h"
 #include "libemile.h"
 
-#define MAJOR_HD	3
-#define MAJOR_SD	8
-static char *scsi_base = "/dev/sd";
-static char *ide_base = "/dev/hd";
-
-int emile_scsi_get_rdev(char* dev_name, char** driver, int *disk, int *partition)
+int emile_scsi_get_rdev(char* dev_name, int* driver, int *disk, int *partition)
 {
 	int ret;
 	struct stat st;
@@ -27,18 +22,18 @@
 		/*  not a block device */
 		return -1;
 
-	major = (st.st_rdev >> 8) & 0x0F;
+	major = (st.st_rdev >> 8) & 0xFF;
+	*driver = major;
 	switch(major)
 	{
 	case MAJOR_SD:
-		*driver = scsi_base;
 		*disk = (st.st_rdev & 0xFF) >> 4;
-		*partition = st.st_rdev &  0x0F;
+		if (partition) *partition = st.st_rdev &  0x0F;
 		break;
-	case MAJOR_HD:
-		*driver = ide_base;
+	case MAJOR_IDE0:
+	case MAJOR_IDE1:
 		*disk = (st.st_rdev & 0xFF) >> 6;
-		*partition = st.st_rdev &  0x3F;
+		if (partition) *partition = st.st_rdev &  0x3F;
 		break;
 	default:
 		return -1;

Modified: branches/vendor/emile/libemile/emile_second_create_mapfile.c
===================================================================
--- branches/vendor/emile/libemile/emile_second_create_mapfile.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_second_create_mapfile.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -15,12 +15,12 @@
 
 #include "libemile.h"
 
-struct emile_container *emile_second_create_mapfile(short *unit_id, char *mapfile, char* kernel)
+struct emile_container *emile_second_create_mapfile(unsigned short *unit_id, char *mapfile, char* kernel)
 {
 	struct emile_container *container;
 	int fd;
 	int ret;
-	short unit_id_map;
+	unsigned short unit_id_map;
 	int block_size;
 
 	/* create container of the kernel */

Modified: branches/vendor/emile/libemile/emile_second_get_configuration.c
===================================================================
--- branches/vendor/emile/libemile/emile_second_get_configuration.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_second_get_configuration.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile_second_get_next_property.c
===================================================================
--- branches/vendor/emile/libemile/emile_second_get_next_property.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_second_get_next_property.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Added: branches/vendor/emile/libemile/emile_second_get_param.c
===================================================================
--- branches/vendor/emile/libemile/emile_second_get_param.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_second_get_param.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,48 @@
+/*
+ *
+ * (c) 2006 Laurent Vivier <Laurent at lvivier.info>
+ *
+ */
+
+#include <stdlib.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "libemile.h"
+
+int emile_second_get_param(int fd, char *kernel, char *parameters, char *initrd)
+{
+	int ret;
+	int drive, second, size;
+	char *configuration;
+
+	/* can work on an image or directly on second level file */
+
+	lseek(fd, 0, SEEK_SET);
+	ret = emile_first_get_param(fd, &drive, &second, &size);
+	if (ret == EEMILE_UNKNOWN_FIRST)
+	{
+		/* should be a second level file */
+
+		ret = lseek(fd, 0, SEEK_SET);
+		if (ret == -1)
+			return -1;
+	}
+
+	configuration = emile_second_get_configuration(fd);
+	if (configuration == NULL)
+		return -1;
+
+	if (kernel != NULL)
+		emile_second_get_property(configuration, "kernel", kernel);
+
+	if (parameters != NULL)
+		emile_second_get_property(configuration, "parameters", parameters);
+
+	if (initrd != NULL)
+		emile_second_get_property(configuration, "initrd", initrd);
+		
+	free(configuration);
+
+	return 0;
+}

Modified: branches/vendor/emile/libemile/emile_second_get_property.c
===================================================================
--- branches/vendor/emile/libemile/emile_second_get_property.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_second_get_property.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -20,5 +20,6 @@
 		if (strcmp(name, current_name) == 0)
 			return 0;
 	}
+	property[0] = 0;
 	return -1;
 }

Modified: branches/vendor/emile/libemile/emile_second_remove_property.c
===================================================================
--- branches/vendor/emile/libemile/emile_second_remove_property.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_second_remove_property.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/emile_second_set_configuration.c
===================================================================
--- branches/vendor/emile/libemile/emile_second_set_configuration.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_second_set_configuration.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Added: branches/vendor/emile/libemile/emile_second_set_param.c
===================================================================
--- branches/vendor/emile/libemile/emile_second_set_param.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_second_set_param.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,47 @@
+/*
+ *
+ * (c) 2006 Laurent Vivier <Laurent at lvivier.info>
+ *
+ */
+
+#include <stdlib.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "libemile.h"
+
+int emile_second_set_param(int fd, char *kernel, char *parameters, char *initrd)
+{
+	int ret;
+	char *configuration;
+	off_t offset;
+
+	offset = lseek(fd, 0, SEEK_CUR);
+
+	configuration = emile_second_get_configuration(fd);
+	if (configuration == NULL)
+		return -1;
+
+	if (kernel != NULL)
+		emile_second_set_property(configuration, "kernel", kernel);
+
+	if (parameters != NULL)
+		emile_second_set_property(configuration, "parameters", parameters);
+
+	if (initrd != NULL)
+		emile_second_set_property(configuration, "initrd", initrd);
+		
+	emile_second_set_property(configuration, "vga", "default");
+
+	ret = lseek(fd, offset, SEEK_SET);
+	if (ret == -1)
+		return -1;
+
+	ret = emile_second_set_configuration(fd, configuration);
+	if (ret != 0)
+		return -1;
+
+	free(configuration);
+
+	return 0;
+}

Modified: branches/vendor/emile/libemile/emile_second_set_property.c
===================================================================
--- branches/vendor/emile/libemile/emile_second_set_property.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/emile_second_set_property.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libemile/libemile.h
===================================================================
--- branches/vendor/emile/libemile/libemile.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/libemile.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,12 +1,14 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #ifndef _LIBEMILE_H
 #define _LIBEMILE_H
 
+#undef USE_16BIT_CHECKSUM
+
 #include <sys/types.h>
 #include <sys/stat.h>
 
@@ -26,6 +28,11 @@
 #define FIRST_LEVEL_SIZE	(FLOPPY_SECTOR_SIZE * 2)
 #define BOOTBLOCK_SIZE		(FLOPPY_SECTOR_SIZE * 2)
 
+#define MAJOR_IDE0	3
+#define MAJOR_LOOP	7
+#define MAJOR_SD	8
+#define MAJOR_IDE1	22
+
 enum {
 	EEMILE_CANNOT_READ_FIRST	= -2,
 	EEMILE_UNKNOWN_FIRST		= -3,
@@ -71,11 +78,16 @@
 extern int emile_first_get_param(int fd, int *drive_num, int *second_offset, 
 				 int *second_size);
 extern int emile_first_set_param_scsi(int fd, char *second_name);
-struct emile_container *emile_second_create_mapfile(short *unit_id, char *mapfile, char* kernel);
+extern int emile_first_set_param_scsi_extents(int fd,
+				 int drive_num, int second_offset, 
+				 int second_size,
+				 int blocksize);
+struct emile_container *emile_second_create_mapfile(unsigned short *unit_id, char *mapfile, char* kernel);
+extern int emile_is_url(char *path);
 extern int emile_floppy_create_image(char* first_level, char* second_level, 
 				     char* kernel_image, char* ramdisk, 
 				     char* image);
-extern int emile_scsi_create_container(int fd, short *unit_id,
+extern int emile_scsi_create_container(int fd, unsigned short *unit_id,
 				       struct emile_container* container, int maxbloks);
 extern emile_map_t* emile_map_open(char* dev, int flags);
 extern void emile_map_close(emile_map_t *map);
@@ -104,17 +116,16 @@
 extern int emile_map_bootblock_write(emile_map_t* map, char* bootblock);
 extern int emile_map_bootblock_get_type(char* bootblock);
 extern int emile_map_bootblock_is_valid(char *bootblock);
-extern int emile_scsi_get_dev(int fd, char** driver, int *disk, int *partition);
+extern int emile_scsi_get_dev(int fd, int* driver, int *disk, int *partition);
+extern int emile_get_dev_name(char *s, int driver, int disk, int partition);
 extern int emile_map_set_startup(char* dev_name, int partition);
-extern int emile_scsi_get_rdev(char* dev_name, char** driver, int *disk, int *partition);
+extern int emile_scsi_get_rdev(char* dev_name, int* driver, int *disk, int *partition);
+extern int emile_is_apple_driver(emile_map_t *map);
 extern int emile_map_has_apple_driver(emile_map_t *map);
 extern int emile_map_seek_driver_partition(emile_map_t *map, int start);
 extern int emile_get_uncompressed_size(char *file);
-#ifdef USE_16BIT_CHECKSUM
-extern int emile_checksum(unsigned char *addr, unsigned short length);
-#else
 extern unsigned short emile_checksum(unsigned char *addr, unsigned int length);
-#endif
+extern unsigned short emile_checksum_ATA(unsigned char *addr, unsigned int length);
 extern int emile_map_get_bootinfo(emile_map_t* map, int* bootstart, int *bootsize, int *bootaddr, int *bootentry, int* checksum, char* processor);
 extern char* emile_map_dev(emile_map_t *map);
 extern int emile_map_set_bootinfo(emile_map_t *map, int bootstart, int bootsize, int bootaddr, int bootentry, int checksum, char* processor);
@@ -127,4 +138,7 @@
 extern int emile_second_get_property(char *configuration, char *name, char *property);
 extern void emile_second_set_property(char *configuration, char *name, char *property);
 extern void emile_second_remove_property(char *configuration, char *name);
+extern int emile_second_set_param(int fd, char *kernel, char *parameters, char *initrd);
+extern int emile_second_get_param(int fd, char *kernel, char *parameters, char *initrd);
+extern unsigned long emile_map_get_driver_signature(emile_map_t* map);
 #endif

Modified: branches/vendor/emile/libemile/partition.h
===================================================================
--- branches/vendor/emile/libemile/partition.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libemile/partition.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -27,6 +27,15 @@
     kPartitionCanChainToNext  = 0x00000400,
 };
 
+/* Constants for the Type field */
+
+enum {
+    kDriverTypeMacSCSI = 0x0001,
+    kDriverTypeMacATA = 0x0701,
+    kDriverTypeMacSCSIChained = 0xFFFF,
+    kDriverTypeMacATAChained = 0xF8FF
+};
+
 struct DriverInfo {
 	int32_t Block;
 	int16_t Size;
@@ -48,6 +57,24 @@
 } __attribute__((packed));
 #define ASSERT_DD(a)   if ( sizeof(struct DriverDescriptor) != 512 ) { a }
 
+/* Driver signatures, stored in the first four byte of pmPad. */
+
+enum {
+    kPatchDriverSignature = 0x70744452, /* 'ptDR', SCSI and ATA[PI] patch driver */
+    kSCSIDriverSignature = 0x00010600,	/* SCSI hard disk driver */
+    kATADriverSignature = 0x77696b69,	/*'wiki', ATA hard disk driver */
+    kSCSICDDriverSignature = 0x43447672, /* 'CDvr', SCSI  CD-ROM driver */
+    kATAPIDriverSignature = 0x41545049,	/* 'ATPI', ATAPI CD-ROM driver */
+    kDriveSetupHFSSignature = 0x44535531,	/* 'DSU1', Drive Setup HFS partition */
+};
+
+enum {
+	kPatchMesh	= 0x6d657368,	/* 'mesh', fixes MESH bug */
+	kPatchSCSI	= 0x73637369,	/* 'scsi' enable booting from CDROM */
+	kPatchRuby	= 0x72756279,	/* 'ruby', volume larger than 2GB */
+	kPatchSnag	= 0x736e6167,	/* 'snag', enable C key to boot CDROM */
+};
+
 struct Partition {
 	int16_t	Sig;
 	int16_t	SigPad;
@@ -91,9 +118,10 @@
 #define APPLE_VOID		"Apple_Void"
 #define APPLE_PATCHES		"Apple_Patches" 
 
+#define MAP_NAME_LEN	256
 typedef struct {
 	int fd;
-	char name[16];
+	char name[MAP_NAME_LEN];
 	int current;
 	struct DriverDescriptor drivers;
 	struct Partition partition;

Modified: branches/vendor/emile/libfloppy/Makefile
===================================================================
--- branches/vendor/emile/libfloppy/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libfloppy/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,10 +1,11 @@
 #
-#  (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+#  (c) 2005 Laurent Vivier <Laurent at lvivier.info>
 #
 
 TOP=$(shell pwd)
 
-CFLAGS	= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar -fpic -O2 -m68000 -Wa,-m68000 -Os
+68000FLAGS = -m68000 -Wa,-m68000
+CFLAGS	+= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar -fpic -O2 -Os
 CPPFLAGS = -I$(TOP)/../libmacos -DARCH_M68K
 
 LIBRARY = libfloppy.a

Modified: branches/vendor/emile/libfloppy/floppy_close.c
===================================================================
--- branches/vendor/emile/libfloppy/floppy_close.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libfloppy/floppy_close.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libfloppy/floppy_open.c
===================================================================
--- branches/vendor/emile/libfloppy/floppy_open.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libfloppy/floppy_open.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libfloppy/floppy_read_sector.c
===================================================================
--- branches/vendor/emile/libfloppy/floppy_read_sector.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libfloppy/floppy_read_sector.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libfloppy/libfloppy.h
===================================================================
--- branches/vendor/emile/libfloppy/libfloppy.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libfloppy/libfloppy.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 #ifndef __LIBFLOPY_H__

Modified: branches/vendor/emile/libgzip/Makefile
===================================================================
--- branches/vendor/emile/libgzip/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libgzip/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,5 +1,5 @@
 #
-#  (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+#  (c) 2005 Laurent Vivier <Laurent at lvivier.info>
 #
 
 TOP = $(shell pwd)
@@ -13,9 +13,10 @@
 LD=$(CROSS_COMPILE)ld
 AR=$(CROSS_COMPILE)ar
 
-CFLAGS	= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar
+CFLAGS	+= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar
 ifeq ($(TARGET), m68k-linux)
-CFLAGS += -fpic -O2 -m68000 -Wa,-m68000 -Os
+68000FLAGS = -m68000 -Wa,-m68000
+CFLAGS += -fpic -O2 -Os
 endif
 
 CPPFLAGS = -DFATFREE -DNOBYFOUR -DBUILDFIXED -DNO_GZCOMPRESS -DDYNAMIC_CRC_TABLE

Modified: branches/vendor/emile/libiso9660/Makefile
===================================================================
--- branches/vendor/emile/libiso9660/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libiso9660/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,5 +1,5 @@
 #
-#  (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+#  (c) 2005 Laurent Vivier <Laurent at lvivier.info>
 #
 
 TOP = $(shell pwd)
@@ -11,9 +11,12 @@
 AR=$(CROSS_COMPILE)ar
 
 TARGET = native
-CFLAGS	= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar
+CFLAGS	+= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar
 ifeq ($(TARGET), m68k-linux)
-CFLAGS += -fpic -O2 -m68000 -Wa,-m68000 -Os
+68000FLAGS = -m68000 -Wa,-m68000
+CFLAGS += -fpic -O2 -Os
+else
+CFLAGS += -g
 endif
 CPPFLAGS = -I$(TOP)/../libstream
 

Modified: branches/vendor/emile/libiso9660/iso9660_close.c
===================================================================
--- branches/vendor/emile/libiso9660/iso9660_close.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libiso9660/iso9660_close.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libiso9660/iso9660_closedir.c
===================================================================
--- branches/vendor/emile/libiso9660/iso9660_closedir.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libiso9660/iso9660_closedir.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libiso9660/iso9660_fstat.c
===================================================================
--- branches/vendor/emile/libiso9660/iso9660_fstat.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libiso9660/iso9660_fstat.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libiso9660/iso9660_is_directory.c
===================================================================
--- branches/vendor/emile/libiso9660/iso9660_is_directory.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libiso9660/iso9660_is_directory.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libiso9660/iso9660_lseek.c
===================================================================
--- branches/vendor/emile/libiso9660/iso9660_lseek.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libiso9660/iso9660_lseek.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libiso9660/iso9660_mount.c
===================================================================
--- branches/vendor/emile/libiso9660/iso9660_mount.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libiso9660/iso9660_mount.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  * some parts from mkisofs (c) J. Schilling
  *
@@ -240,8 +240,10 @@
 
 	if ((ipd.type[0] != ISO_VD_PRIMARY) ||
 	    (strncmp(ipd.id, ISO_STANDARD_ID, sizeof (ipd.id)) != 0) ||
-	    (ipd.version[0] != 1))
+	    (ipd.version[0] != 1)) {
+		printf("Not ISO9660 format\n");
 		return NULL;
+	}
 
 	block = 16;
 	memcpy(jpd, &ipd, sizeof (ipd));
@@ -268,6 +270,7 @@
 
 	if (((unsigned char) jpd->type[0] == ISO_VD_END)) {
 		free(jpd);
+		printf("Not ISO9660 Joliet format\n");
 		return NULL;
 	}
 

Modified: branches/vendor/emile/libiso9660/iso9660_open.c
===================================================================
--- branches/vendor/emile/libiso9660/iso9660_open.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libiso9660/iso9660_open.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -26,8 +26,8 @@
 	if (file == NULL)
 		return NULL;
 
-	file->base = isonum_733((unsigned char *)idr->extent);
-	file->size = isonum_733((unsigned char *)idr->size);
+	file->base = isonum_733((char *)idr->extent);
+	file->size = isonum_733((char *)idr->size);
 	file->offset = 0;
 	file->current = -1;
 	file->volume = volume;

Modified: branches/vendor/emile/libiso9660/iso9660_opendir.c
===================================================================
--- branches/vendor/emile/libiso9660/iso9660_opendir.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libiso9660/iso9660_opendir.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -17,8 +17,8 @@
 	if (dir == NULL)
 		return NULL;
 
-	dir->extent = isonum_733((unsigned char *)node->extent);
-	dir->len = isonum_733((unsigned char *)node->size);
+	dir->extent = isonum_733((char *)node->extent);
+	dir->len = isonum_733((char *)node->size);
 	dir->index =  sizeof (dir->buffer);
 	dir->volume = volume;
 

Modified: branches/vendor/emile/libiso9660/iso9660_read.c
===================================================================
--- branches/vendor/emile/libiso9660/iso9660_read.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libiso9660/iso9660_read.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libiso9660/iso9660_readdir.c
===================================================================
--- branches/vendor/emile/libiso9660/iso9660_readdir.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libiso9660/iso9660_readdir.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libiso9660/libiso9660.h
===================================================================
--- branches/vendor/emile/libiso9660/libiso9660.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libiso9660/libiso9660.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libmacos/CloseDriver.c
===================================================================
--- branches/vendor/emile/libmacos/CloseDriver.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/CloseDriver.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libmacos/Makefile
===================================================================
--- branches/vendor/emile/libmacos/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,10 +1,11 @@
 #
-#  (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+#  (c) 2005 Laurent Vivier <Laurent at lvivier.info>
 #
 
 TOP	= $(shell pwd)
 
-CFLAGS	= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar -fpic -O2 -m68000 -Wa,-m68000 -Os
+68000FLAGS = -m68000 -Wa,-m68000
+CFLAGS	+= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar -fpic -O2 -Os
 CPPFLAGS	= -I$(TOP) -DARCH_M68K
 
 LIBRARY = libmacos.a

Modified: branches/vendor/emile/libmacos/OpenDriver.c
===================================================================
--- branches/vendor/emile/libmacos/OpenDriver.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/OpenDriver.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  * 
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libmacos/SerGetBuf.c
===================================================================
--- branches/vendor/emile/libmacos/SerGetBuf.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/SerGetBuf.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -19,7 +19,7 @@
 	
 	res = PBStatusSync((ParmBlkPtr)&param);
 
-	*count = *(long*)&param.csParam;
+	*count = *(long*)param.csParam;
 
 	return res;
 }

Modified: branches/vendor/emile/libmacos/display_properties.S
===================================================================
--- branches/vendor/emile/libmacos/display_properties.S	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/display_properties.S	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,10 +1,10 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
-	.chip 68000
+	.cpu 68000
 
 	.align 	2
 

Modified: branches/vendor/emile/libmacos/libmacos.h
===================================================================
--- branches/vendor/emile/libmacos/libmacos.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/libmacos.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004, 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004, 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libmacos/macos/devices.h
===================================================================
--- branches/vendor/emile/libmacos/macos/devices.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/devices.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -49,7 +49,7 @@
 typedef DCtlEntry *                     DCtlPtr;
 typedef DCtlPtr *                       DCtlHandle;
 
-#ifdef ARCH_M68K
+#ifdef __mc68000__
 static inline OSErr PBCloseSync(ParmBlkPtr paramBlock)
 {
 	register OSErr ret asm("%%d0");
@@ -116,8 +116,18 @@
 	return ret;
 }
 
+static inline OSErr DrvrRemove(int refNum)
+{
+	register OSErr ret asm("%%d0");
+	asm("move.l %1, %%d0\n"
+		Trap(_DrvrRemove)
+	    : "=d" (ret) : "g" (refNum) : UNPRESERVED_REGS);
+
+	return ret;
+}
+
 extern OSErr OpenDriver(ConstStr255Param name, short *drvrRefNum);
 extern OSErr CloseDriver(short refNum);
 extern OSErr SerGetBuf(short refNum, long *count);
-#endif /* ARCH_M68K */
+#endif /* __mc68000__ */
 #endif /* __MACOS_DEVICES_H__ */

Modified: branches/vendor/emile/libmacos/macos/errors.h
===================================================================
--- branches/vendor/emile/libmacos/macos/errors.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/errors.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -34,12 +34,12 @@
 	smNoMoresRsrcs = -344,
 };
 
-#ifdef ARCH_M68K
+#ifdef __mc68000__
 static inline void SysError(short errorCode)
 {
 	asm("move.l %0, %%d0\n"
 		Trap(_SysError)
 	    :: "g" (errorCode) : "%%d0", UNPRESERVED_REGS);
 }
-#endif /* ARCH_M68K */
+#endif /* __mc68000__ */
 #endif /* __MACOS_ERRORS_H__ */

Modified: branches/vendor/emile/libmacos/macos/events.h
===================================================================
--- branches/vendor/emile/libmacos/macos/events.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/events.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -11,10 +11,12 @@
 
 typedef u_int32_t	KeyMap[4];
 
+#ifdef __mc68000__
 static inline void GetKeys(KeyMap theKeys)
 {
 	asm("move.l %0, -(%%sp)\n"
 		Trap(_GetKeys)
 	    :: "g" (theKeys) : "%%d0", UNPRESERVED_REGS );
 }
+#endif /* __mc68000__ */
 #endif /* __MACOS_EVENTS_H__ */

Modified: branches/vendor/emile/libmacos/macos/files.h
===================================================================
--- branches/vendor/emile/libmacos/macos/files.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/files.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -107,7 +107,7 @@
 typedef struct DrvQEl                   DrvQEl;
 typedef DrvQEl *                        DrvQElPtr;
 
-#ifdef ARCH_M68K
+#ifdef __mc68000__
 static inline void FInitQueue(void)
 {
 	asm(Trap(_FInitQueue) ::: "%%d0", UNPRESERVED_REGS);
@@ -134,5 +134,5 @@
 
 	return ret;
 }
-#endif /* ARCH_M68K */
+#endif /* __mc68000__ */
 #endif /* __MACOS_FILES_H__ */

Modified: branches/vendor/emile/libmacos/macos/gestalt.h
===================================================================
--- branches/vendor/emile/libmacos/macos/gestalt.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/gestalt.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -207,7 +207,7 @@
 	gestaltHasEnhancedLtalk	= 30	/* Do we have Enhanced LocalTalk? */
 };
 
-#ifdef ARCH_M68K
+#ifdef __mc68000__
 static inline OSErr Gestalt(OSType selector, long * response)
 {
 	register OSErr ret asm("%%d0");
@@ -219,5 +219,5 @@
 
 	return ret;
 }
-#endif /* ARCH_M68K */
+#endif /* __mc68000__ */
 #endif /* __MACOS_GESTALT_H__ */

Modified: branches/vendor/emile/libmacos/macos/init.h
===================================================================
--- branches/vendor/emile/libmacos/macos/init.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/init.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -9,6 +9,7 @@
 
 #include <macos/traps.h>
 
+#ifdef __mc68000__
 statis inline void InitEvents(short CntEvts)
 {
 	asm("move.l %0, %%d0\n"
@@ -22,4 +23,5 @@
 		Trap(_InitFs)
 	    :: "g" (CntFCBs) : "%%d0", UNPRESERVED_REGS);
 }
+#endif /* __mc68000__ */
 #endif /* __MACOS_INIT_H__ */

Modified: branches/vendor/emile/libmacos/macos/lowmem.h
===================================================================
--- branches/vendor/emile/libmacos/macos/lowmem.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/lowmem.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004, 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004, 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libmacos/macos/memory.h
===================================================================
--- branches/vendor/emile/libmacos/macos/memory.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/memory.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -9,6 +9,7 @@
 
 #include <macos/traps.h>
 
+#ifdef __mc68000__
 static inline void DisposePtr(void* ptr)
 {
 	asm("move.l %0, %%a0\n"
@@ -27,4 +28,5 @@
 
 	return ptr;
 }
+#endif /* __mc68000__ */
 #endif /* __MACOS_MEMORY_H__ */

Modified: branches/vendor/emile/libmacos/macos/osutils.h
===================================================================
--- branches/vendor/emile/libmacos/macos/osutils.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/osutils.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -30,10 +30,12 @@
 };
 typedef struct MachineLocation MachineLocation;
 
+#ifdef __mc68000__
 static inline void ReadLocation(MachineLocation * loc)
 {
 	asm("move.l %0, %%a0\n"
 		XPRam(_ReadLocation)
 	    :: "g" (loc) : "%%d0", UNPRESERVED_REGS);
 }
+#endif /* __mc68000__ */
 #endif /* __MACOS_OSUTILS_H__ */

Modified: branches/vendor/emile/libmacos/macos/quickdraw.h
===================================================================
--- branches/vendor/emile/libmacos/macos/quickdraw.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/quickdraw.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -54,6 +54,7 @@
 typedef struct QDGlobals* QDGlobalsPtr;
 typedef struct QDGlobalsPtr* QDGlobalsHandle;
 
+#ifdef __mc68000__
 static inline void InitGraf(void * port)
 {
 	asm("move.l %0, -(%%sp)\n"
@@ -61,4 +62,5 @@
 	    "	addq.l #4, %%sp"
 	    :: "g" (port) : "%%d0", UNPRESERVED_REGS);
 }
+#endif /* __mc68000__ */
 #endif /* __MACOS_QUICKDRAW_H__ */

Modified: branches/vendor/emile/libmacos/macos/romdefs.h
===================================================================
--- branches/vendor/emile/libmacos/macos/romdefs.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/romdefs.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libmacos/macos/scsi.h
===================================================================
--- branches/vendor/emile/libmacos/macos/scsi.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/scsi.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -20,12 +20,28 @@
    op_comp	= 8,	/* compare SCSI data with memory */
 };
 
+enum {
+	scCommErr	= 2,	/* Communications error, operation timeout */
+	scBadParmsErr	= 4,	/* Unrecognized TIB instruction */
+	scPhaseErr	= 5,	/* Phase error on the SCSI bus */
+	scCompareErr	= 6,	/* Comparison error from scComp instruction */
+};
+
+enum {
+	scsiErrorBase	= -7936
+};
+
+enum {
+	scsiBusy	= scsiErrorBase + 49,
+};
+
 typedef struct TIB {	/* Transfer Instruction Block */
    short	opcode;	/* operation code */
    int		param1;	/* 1st parameter */
    int		param2;	/* 2nd parameter */
 } __attribute__((packed)) TIB_t;
 
+#ifdef __mc68000__
 static inline OSErr SCSICmd(void* buffer, short count)
 {
 	register OSErr ret asm("%%d0");
@@ -100,4 +116,16 @@
 
 	return ret;
 }
+
+static inline OSErr SCSIStat(void)
+{
+	register OSErr ret asm("%%d0");
+
+	asm("clr.w	-(%%sp)\n"
+		SCSIDispatch(_SCSIStat)
+	: "=d" (ret)  :: UNPRESERVED_REGS );
+
+	return ret;
+}
+#endif /* __mc68000__ */
 #endif /* __MACOS_SCSI_H__ */

Modified: branches/vendor/emile/libmacos/macos/serial.h
===================================================================
--- branches/vendor/emile/libmacos/macos/serial.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/serial.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libmacos/macos/slotmanager.h
===================================================================
--- branches/vendor/emile/libmacos/macos/slotmanager.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/slotmanager.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -53,6 +53,7 @@
 	fnext		= 2,
 };
 
+#ifdef __mc68000__
 static inline OSErr SGetCString(SpBlockPtr spBlkPtr)
 {
 	register OSErr ret asm("%%d0");
@@ -85,4 +86,5 @@
 
 	return ret;
 }
+#endif /* __mc68000__ */
 #endif /* __MACOS_SLOTMANAGER_H__ */

Modified: branches/vendor/emile/libmacos/macos/traps.h
===================================================================
--- branches/vendor/emile/libmacos/macos/traps.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/traps.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -23,6 +23,7 @@
 #define	_PBReadSync	0xA002
 #define	_PBWriteSync	0xA003
 #define	_PBStatusSync	0xA005
+#define _DvrRemove	0xA03E
 #define	_ReadXPRam	0xA051
 #define	_SlotManager	0xA06E
 #define	_SCSIDispatch	0xA815
@@ -76,6 +77,7 @@
 #define	_SCSIComplete	0x0004
 #define	_SCSIRead	0x0005
 #define	_SCSIWrite	0x0006
+#define _SCSIStat	0x000A
 
 #define SCSIDispatchSelector(a)	"	move.w	#"#a", -(%%sp)"
 

Modified: branches/vendor/emile/libmacos/macos/types.h
===================================================================
--- branches/vendor/emile/libmacos/macos/types.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/types.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,20 +1,20 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #ifndef __MACOS_TYPES_H__
 #define __MACOS_TYPES_H__
 
-#ifdef ARCH_M68K
+#ifndef _SYS_TYPES_H
 typedef unsigned char u_int8_t;
 typedef signed char int8_t;
 typedef unsigned short u_int16_t;
 typedef signed short int16_t;
 typedef unsigned int u_int32_t;
 typedef signed int int32_t;
-#endif /* ARCH_M68K */
+#endif /* _SYS_TYPES_H */
 
 typedef int16_t OSErr;
 typedef unsigned long FourCharCode;

Modified: branches/vendor/emile/libmacos/macos/video.h
===================================================================
--- branches/vendor/emile/libmacos/macos/video.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libmacos/macos/video.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libscsi/Makefile
===================================================================
--- branches/vendor/emile/libscsi/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libscsi/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,15 +1,17 @@
 #
-#  (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+#  (c) 2005 Laurent Vivier <Laurent at lvivier.info>
 #
 
 TOP=$(shell pwd)
-CFLAGS	= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar -fpic -O2 -m68000 -Wa,-m68000 -Os
+68000FLAGS = -m68000 -Wa,-m68000
+CFLAGS	+= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar -fpic -O2 -Os
 CPPFLAGS = -I$(TOP)/../libmacos -DARCH_M68K
 
 LIBRARY = libscsi.a
 
 SOURCES = scsi_read_sector.c scsi_command.c scsi_INQUIRY.c scsi_READ.c \
-	  scsi_open.c scsi_close.c scsi_READ_CAPACITY.c scsi_get_blocksize.c
+	  scsi_open.c scsi_close.c scsi_READ_CAPACITY.c scsi_get_blocksize.c \
+	  scsi_TEST_UNIT_READY.c scsi_INQUIRY.c scsi_REQUEST_SENSE.c
 
 HEADERS = libscsi.h
 

Modified: branches/vendor/emile/libscsi/libscsi.h
===================================================================
--- branches/vendor/emile/libscsi/libscsi.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libscsi/libscsi.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004, 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004, 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
                                                                                 
@@ -13,11 +13,13 @@
 	unsigned long capacity;
 } scsi_device_t;
 
-extern int scsi_command(int target, char* cdb, int count, TIB_t* tib);
-extern int scsi_INQUIRY(int target, char* buffer, size_t count);
+extern int scsi_command(int target, unsigned char* cdb, int count, TIB_t* tib);
+extern int scsi_INQUIRY(int target, void* buffer, size_t count);
 extern int scsi_READ(int target, unsigned long offset, unsigned short nb_blocks,
-		     char *buffer, int buffer_size);
-extern int scsi_READ_CAPACITY(int target, char *buffer, size_t count);
+		     void *buffer, int buffer_size);
+extern int scsi_READ_CAPACITY(int target, void *buffer, size_t count);
+extern int scsi_TEST_UNIT_READY(int target);
+extern int scsi_REQUEST_SENSE(int target, void* buffer, size_t count);
 
 extern scsi_device_t *scsi_open(int target);
 extern int scsi_read_sector(scsi_device_t *device, off_t offset, void* buffer, size_t size);

Modified: branches/vendor/emile/libscsi/scsi_INQUIRY.c
===================================================================
--- branches/vendor/emile/libscsi/scsi_INQUIRY.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libscsi/scsi_INQUIRY.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004, 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004, 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -13,9 +13,9 @@
 
 #include "libscsi.h"
 
-int scsi_INQUIRY(int target, char *buffer, size_t count)
+int scsi_INQUIRY(int target, void *buffer, size_t count)
 {
-	char	cdb[6];
+	unsigned char	cdb[6];
 	TIB_t	tib[2];
 
 	cdb[0] = INQUIRY;

Modified: branches/vendor/emile/libscsi/scsi_READ.c
===================================================================
--- branches/vendor/emile/libscsi/scsi_READ.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libscsi/scsi_READ.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004, 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004, 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -40,9 +40,9 @@
 ******************************************************************************/
 
 int scsi_READ(int target, unsigned long offset, unsigned short nb_blocks, 
-	      char *buffer, int buffer_size)
+	      void *buffer, int buffer_size)
 {
-	char	cdb[10];
+	unsigned char	cdb[10];
 	TIB_t	tib[2];
 
 	cdb[0] = READ_10;

Modified: branches/vendor/emile/libscsi/scsi_READ_CAPACITY.c
===================================================================
--- branches/vendor/emile/libscsi/scsi_READ_CAPACITY.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libscsi/scsi_READ_CAPACITY.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004, 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004, 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -11,9 +11,9 @@
 
 #include "libscsi.h"
 
-int scsi_READ_CAPACITY(int target, char *buffer, size_t count)
+int scsi_READ_CAPACITY(int target, void *buffer, size_t count)
 {
-	char	cdb[10];
+	unsigned char	cdb[10];
 	TIB_t	tib[2];
 
 	cdb[0] = READ_CAPACITY;

Added: branches/vendor/emile/libscsi/scsi_REQUEST_SENSE.c
===================================================================
--- branches/vendor/emile/libscsi/scsi_REQUEST_SENSE.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libscsi/scsi_REQUEST_SENSE.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,36 @@
+/*
+ *
+ * (c) 2004-2006 Laurent Vivier <Laurent at lvivier.info>
+ *
+ */
+
+#include <sys/types.h>
+
+#include <scsi/scsi.h>
+
+#include <macos/types.h>
+#include <macos/errors.h>
+
+#include "libscsi.h"
+
+int scsi_REQUEST_SENSE(int target, void *buffer, size_t count)
+{
+	unsigned char	cdb[6];
+	TIB_t	tib[2];
+
+	cdb[0] = REQUEST_SENSE;
+	cdb[1] = 0;
+	cdb[2] = 0;
+	cdb[3] = 0;
+	cdb[4] = count;
+	cdb[5] = 0;
+
+	tib[0].opcode = op_no_inc;
+	tib[0].param1 = (int)buffer;
+	tib[0].param2 = count;
+	tib[1].opcode = op_stop;
+	tib[1].param1 = 0;
+	tib[1].param2 = 0;
+
+	return scsi_command(target, cdb, 6, tib);
+}

Added: branches/vendor/emile/libscsi/scsi_TEST_UNIT_READY.c
===================================================================
--- branches/vendor/emile/libscsi/scsi_TEST_UNIT_READY.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libscsi/scsi_TEST_UNIT_READY.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,29 @@
+/*
+ *
+ * (c) 2006 Laurent Vivier <Laurent at lvivier.info>
+ *
+ */
+
+#include <sys/types.h>
+#include <stdio.h>
+
+#include <scsi/scsi.h>
+
+#include <macos/types.h>
+#include <macos/errors.h>
+
+#include "libscsi.h"
+
+int scsi_TEST_UNIT_READY(int target)
+{
+	unsigned char	cdb[6];
+
+	cdb[0] = TEST_UNIT_READY;
+	cdb[1] = 0;
+	cdb[2] = 0;
+	cdb[3] = 0;
+	cdb[4] = 0;
+	cdb[5] = 0;
+
+	return scsi_command(target, cdb, 6, NULL);
+}

Modified: branches/vendor/emile/libscsi/scsi_close.c
===================================================================
--- branches/vendor/emile/libscsi/scsi_close.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libscsi/scsi_close.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libscsi/scsi_command.c
===================================================================
--- branches/vendor/emile/libscsi/scsi_command.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libscsi/scsi_command.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004, 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004, 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -10,17 +10,46 @@
 
 #include <macos/types.h>
 #include <macos/errors.h>
+#include <macos/scsi.h>
+#include <macos/lowmem.h>
 
 #include "libscsi.h"
 
 #define COMPLETION_TIMEOUT	300
 
-int scsi_command(int target, char* cdb, int count, TIB_t* tib)
+#define SCSI_BUSY		(1 << 6)
+#define SCSI_SEL		(1 << 1)
+
+static inline int scsi_busy(void)
 {
+	return (SCSIStat() & (SCSI_BUSY | SCSI_SEL)) != 0;
+}
+
+static inline int scsi_wait_bus()
+{
+	int timeout;
+
+	timeout = Ticks + 300;
+
+	while (scsi_busy())
+		if (Ticks > timeout)
+			return scsiBusy;
+	return noErr;
+}
+
+int scsi_command(int target, unsigned char* cdb, int count, TIB_t* tib)
+{
 	int err;
 	short stat;
 	short message;
 
+	err = scsi_wait_bus();
+	if (err != noErr)
+	{
+		printf("SCSI bus is busy\n");
+		return err;
+	}
+
 	err = SCSIGet();
 	if (err != noErr) 
 	{
@@ -42,11 +71,14 @@
 		goto complete;
 	}
 
-	err = SCSIRead(tib);
-	if (err != noErr) 
+	if (tib != NULL)
 	{
-		printf("Cannot read data (%d)\n", err);
-		goto complete;
+		err = SCSIRead(tib);
+		if ((err != scPhaseErr) && (err != noErr))
+		{
+			printf("Cannot read data (%d)\n", err);
+			goto complete;
+		}
 	}
 
 complete:

Modified: branches/vendor/emile/libscsi/scsi_get_blocksize.c
===================================================================
--- branches/vendor/emile/libscsi/scsi_get_blocksize.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libscsi/scsi_get_blocksize.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libscsi/scsi_open.c
===================================================================
--- branches/vendor/emile/libscsi/scsi_open.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libscsi/scsi_open.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,25 +1,60 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
+#include <stdio.h>
 #include <stdlib.h>
+#include <scsi/scsi.h>
 
 #include <macos/errors.h>
 
 #include "libscsi.h"
 
+#define BUFFER_SIZE	(255)
 scsi_device_t *scsi_open(int target)
 {
 	scsi_device_t *dev;
-	unsigned char buff[8];
+	unsigned char buff[BUFFER_SIZE];
 	OSErr err;
+	int retries;
 
-	err = scsi_READ_CAPACITY(target, buff, 8);
+	err = scsi_INQUIRY(target, buff, BUFFER_SIZE);
 	if (err != noErr)
+		printf("WARNING: cannot execute INQUIRY\n");
+
+	retries = 0;
+	while (retries < 300)
+	{
+		err = scsi_TEST_UNIT_READY(target);
+		retries++;
+		if (err == noErr) {
+			err = scsi_REQUEST_SENSE(target, buff, BUFFER_SIZE);
+			if ((err == noErr) && (buff[2] != UNIT_ATTENTION) &&
+					      (buff[2] != NOT_READY))
+				break;
+		}
+	}
+	if (retries == 300)
+	{
+		printf("ERROR: unit not ready !\n");
 		return NULL;
+	}
 
+	retries = 0;
+	while (retries < 3)
+	{
+		err = scsi_READ_CAPACITY(target, buff, BUFFER_SIZE);
+		if (err == noErr)
+			break;
+		retries++;
+	}
+	if (err != noErr) {
+		printf("ERROR: cannot execute READ_CAPACITY\n");
+		return NULL;
+	}
+
 	dev = (scsi_device_t *)malloc(sizeof(scsi_device_t));
 	if (dev == NULL)
 		return NULL;
@@ -27,5 +62,9 @@
 	dev->capacity = (buff[0] << 24) | (buff[1] << 16) | (buff[2] << 8) | buff[3];
 	dev->sector_size = (buff[4] << 24) | (buff[5] << 16) | (buff[6] << 8) | buff[7];
 
+	if ((dev->sector_size != 512) && (dev->sector_size != 2048))
+	{
+		dev->sector_size = 2048;
+	}
 	return dev;
 }

Modified: branches/vendor/emile/libscsi/scsi_read_sector.c
===================================================================
--- branches/vendor/emile/libscsi/scsi_read_sector.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libscsi/scsi_read_sector.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004, 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004, 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libstream/Makefile
===================================================================
--- branches/vendor/emile/libstream/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libstream/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,11 +1,11 @@
 #
-#  (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+#  (c) 2005 Laurent Vivier <Laurent at lvivier.info>
 #
 
 TOP = $(shell pwd)
 VPATH=$(TOP)
 
-CFLAGS	= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar -fpic -g -O2 -Os
+CFLAGS	+= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar -fpic -g -O2 -Os
 #-m68000 -Wa,-m68000
 CPPFLAGS = -I$(TOP)/../libmacos -I$(TOP) -I$(TOP)/../libgzip
 

Modified: branches/vendor/emile/libstream/libstream.h
===================================================================
--- branches/vendor/emile/libstream/libstream.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libstream/libstream.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 #ifndef __LIBSTREAM_H__

Modified: branches/vendor/emile/libstream/stream_close.c
===================================================================
--- branches/vendor/emile/libstream/stream_close.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libstream/stream_close.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libstream/stream_fstat.c
===================================================================
--- branches/vendor/emile/libstream/stream_fstat.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libstream/stream_fstat.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libstream/stream_lseek.c
===================================================================
--- branches/vendor/emile/libstream/stream_lseek.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libstream/stream_lseek.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libstream/stream_open.c
===================================================================
--- branches/vendor/emile/libstream/stream_open.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libstream/stream_open.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libstream/stream_read.c
===================================================================
--- branches/vendor/emile/libstream/stream_read.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libstream/stream_read.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libunix/Makefile
===================================================================
--- branches/vendor/emile/libunix/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,10 +1,11 @@
 #
-#  (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+#  (c) 2005 Laurent Vivier <Laurent at lvivier.info>
 #
 
 TOP = $(shell pwd)
 
-CFLAGS	= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar -fpic -O2 -m68000 -Wa,-m68000 -Os
+68000FLAGS = -m68000 -Wa,-m68000
+CFLAGS	+= -nostdlib -nodefaultlibs -Wall -Werror -Wno-multichar -fpic -O2 -Os
 CPPFLAGS = -I$(TOP) -I$(TOP)/../libmacos -DARCH_M68K
 
 LIBRARY = libunix.a
@@ -12,7 +13,7 @@
 SOURCES = divsi3.S modsi3.S mulsi3.S udivsi3.S umodsi3.S free.c malloc.c \
 	  memcpy.c memset.c printf.c putchar.c puts.c read.c sprintf.c \
 	  strcpy.c strlen.c strncpy.c vsprintf.c write.c strcmp.c \
-	  strncmp.c strtol.c
+	  strncmp.c strtol.c strdup.c
 
 HEADERS = 
 

Modified: branches/vendor/emile/libunix/divsi3.S
===================================================================
--- branches/vendor/emile/libunix/divsi3.S	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/divsi3.S	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,13 +1,13 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  * Some parts from libgcc routines for 68000 w/o floating-point hardware.
  * Copyright (C) 1994, 1996, 1997, 1998 Free Software Foundation, Inc.
  *
  */
 
-	.chip 68000
+	.cpu 68000
 
 	.align 	2
 

Modified: branches/vendor/emile/libunix/free.c
===================================================================
--- branches/vendor/emile/libunix/free.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/free.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libunix/malloc.c
===================================================================
--- branches/vendor/emile/libunix/malloc.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/malloc.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libunix/memcpy.c
===================================================================
--- branches/vendor/emile/libunix/memcpy.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/memcpy.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libunix/memset.c
===================================================================
--- branches/vendor/emile/libunix/memset.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/memset.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libunix/modsi3.S
===================================================================
--- branches/vendor/emile/libunix/modsi3.S	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/modsi3.S	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,13 +1,13 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  * Some parts from libgcc routines for 68000 w/o floating-point hardware.
  * Copyright (C) 1994, 1996, 1997, 1998 Free Software Foundation, Inc.
  *
  */
 
-	.chip 68000
+	.cpu 68000
 
 	.align 	2
 

Modified: branches/vendor/emile/libunix/mulsi3.S
===================================================================
--- branches/vendor/emile/libunix/mulsi3.S	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/mulsi3.S	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,13 +1,13 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  * Some parts from libgcc routines for 68000 w/o floating-point hardware.
  * Copyright (C) 1994, 1996, 1997, 1998 Free Software Foundation, Inc.
  *
  */
 
-	.chip 68000
+	.cpu 68000
 
 	.align 	2
 

Modified: branches/vendor/emile/libunix/printf.c
===================================================================
--- branches/vendor/emile/libunix/printf.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/printf.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libunix/putchar.c
===================================================================
--- branches/vendor/emile/libunix/putchar.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/putchar.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libunix/puts.c
===================================================================
--- branches/vendor/emile/libunix/puts.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/puts.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libunix/read.c
===================================================================
--- branches/vendor/emile/libunix/read.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/read.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libunix/sprintf.c
===================================================================
--- branches/vendor/emile/libunix/sprintf.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/sprintf.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libunix/strcmp.c
===================================================================
--- branches/vendor/emile/libunix/strcmp.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/strcmp.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libunix/strcpy.c
===================================================================
--- branches/vendor/emile/libunix/strcpy.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/strcpy.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Added: branches/vendor/emile/libunix/strdup.c
===================================================================
--- branches/vendor/emile/libunix/strdup.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/strdup.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,20 @@
+/*
+ *
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
+ *
+ */
+
+#include <stdlib.h>
+#include <string.h>
+
+char *strdup (__const char *__restrict __src)
+{
+	char *__dest;
+
+	__dest = (char*)malloc(strlen(__src) + 1);
+	if (__dest == NULL)
+		return NULL;
+	strcpy(__dest, __src);
+
+	return __dest;
+}

Modified: branches/vendor/emile/libunix/strlen.c
===================================================================
--- branches/vendor/emile/libunix/strlen.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/strlen.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libunix/strncmp.c
===================================================================
--- branches/vendor/emile/libunix/strncmp.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/strncmp.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libunix/strncpy.c
===================================================================
--- branches/vendor/emile/libunix/strncpy.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/strncpy.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/libunix/udivsi3.S
===================================================================
--- branches/vendor/emile/libunix/udivsi3.S	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/udivsi3.S	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,13 +1,13 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  * Some parts from libgcc routines for 68000 w/o floating-point hardware.
  * Copyright (C) 1994, 1996, 1997, 1998 Free Software Foundation, Inc.
  *
  */
 
-	.chip 68000
+	.cpu 68000
 
 	.align 	2
 

Modified: branches/vendor/emile/libunix/umodsi3.S
===================================================================
--- branches/vendor/emile/libunix/umodsi3.S	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/umodsi3.S	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,13 +1,13 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  * Some parts from libgcc routines for 68000 w/o floating-point hardware.
  * Copyright (C) 1994, 1996, 1997, 1998 Free Software Foundation, Inc.
  *
  */
 
-	.chip 68000
+	.cpu 68000
 
 	.align 	2
 

Modified: branches/vendor/emile/libunix/write.c
===================================================================
--- branches/vendor/emile/libunix/write.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/libunix/write.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/MMU030.c
===================================================================
--- branches/vendor/emile/second/MMU030.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/MMU030.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/MMU030.h
===================================================================
--- branches/vendor/emile/second/MMU030.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/MMU030.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/MMU030_asm.S
===================================================================
--- branches/vendor/emile/second/MMU030_asm.S	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/MMU030_asm.S	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,10 +1,10 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
-	.chip 68030
+	.cpu 68030
 
 	.global MMU030_disable_cache
 MMU030_disable_cache:

Modified: branches/vendor/emile/second/MMU040.c
===================================================================
--- branches/vendor/emile/second/MMU040.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/MMU040.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  * a lot of parts from penguin booter
  */

Modified: branches/vendor/emile/second/MMU040.h
===================================================================
--- branches/vendor/emile/second/MMU040.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/MMU040.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/MMU040_asm.S
===================================================================
--- branches/vendor/emile/second/MMU040_asm.S	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/MMU040_asm.S	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,10 +1,10 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
-	.chip 68040
+	.cpu 68040
 
 	.global MMU040_disable_cache
 MMU040_disable_cache:

Modified: branches/vendor/emile/second/Makefile
===================================================================
--- branches/vendor/emile/second/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 # 
 # 
-#  (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+#  (c) 2004 Laurent Vivier <Laurent at lvivier.info>
 # 
 #
 
@@ -28,7 +28,7 @@
 LS		= ls
 AWK		= awk
 
-HEADERS	= arch.h bank.h bootenv.h bootinfo.h bootx.h cli.h console.h driver.h enter_kernel030.h enter_kernel040.h enter_kernel.h enter_kernelnoMMU.h enter_kernelPPC.h head.h keyboard.h load.h misc.h MMU030.h MMU040.h serial.h vga.h config.h copymem.i
+HEADERS	= arch.h bank.h bootenv.h bootinfo.h bootx.h cli.h console.h driver.h enter_kernel030.h enter_kernel040.h enter_kernel.h enter_kernelnoMMU.h switch_to_PPC.h head.h keyboard.h load.h misc.h MMU030.h MMU040.h serial.h vga.h config.h copymem.i
 
 SOURCES = head.S main.c console.c \
 	  font_8x16.c \
@@ -51,7 +51,7 @@
 
 OBJS_M68K = $(patsubst %.c,%.o,$(SOURCES_M68K:.S=.o))
 
-SOURCES_PPC = enter_kernelPPC.S PPC_asm.S
+SOURCES_PPC = switch_to_PPC.S
 
 OBJS_PPC = $(patsubst %.c,%.o,$(SOURCES_PPC:.S=.o))
 
@@ -127,18 +127,39 @@
 			VERSION=$(VERSION) \
 			TOP=$(TOP) \
 			OBJCOPY=$(OBJCOPY) LD=$(LD) CC=$(CC) \
-			AS=$(AS) SIGNATURE="$(SIGNATURE)" \
+			AS=$(AS) PPC_OBJCOPY=$(PPC_OBJCOPY) \
+			PPC_CC=$(PPC_CC) \
+			SIGNATURE="$(SIGNATURE)" \
 			OPT_CPPFLAGS="$(CPPFLAGS_TARGET) $(CPPFLAGS_MEDIA)" \
 			OPT_CFLAGS="$(CFLAGS_TARGET)" \
 			OPTOBJS="$(OBJS_TARGET) $(OBJS_MEDIA)" \
 			OPT_LIBS="$(LIBS_MEDIA)"
+ 
+ifeq ("$(TARGET)", "ppc-linux") 
+bootstrapPPC.o:	bootstrapPPC.S
+	$(PPC_CC) $(CPPFLAGS) -c $(TOP)/bootstrapPPC.S -o bootstrapPPC.o
 
+bootstrap: bootstrapPPC.o
+	$(PPC_OBJCOPY) -j .text -j .data -j .rodata \
+			-O binary bootstrapPPC.o bootstrap
+
 second: second.o
+	$(OBJCOPY) -j .text -j .data -j .rodata -j .got -j .bootstrap \
+			-O binary second.o second
+
+second.o: $(OBJS) bootstrap $(TOP)/ld.script
+	$(OBJCOPY) -R .bootstrap switch_to_PPC.o
+	$(OBJCOPY) --add-section .bootstrap=bootstrap switch_to_PPC.o
+	$(LD) -T $(TOP)/ld.script -o second.o $(OBJS) $(LIBS)
+
+else
+second: second.o
 	$(OBJCOPY) -j .text -j .data -j .rodata -j .got \
 			-O binary second.o second
 
 second.o: $(OBJS) $(TOP)/ld.script
 	$(LD) -T $(TOP)/ld.script -o second.o $(OBJS) $(LIBS)
+endif
 
 .c.o:
 	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $^ 

Modified: branches/vendor/emile/second/arch.c
===================================================================
--- branches/vendor/emile/second/arch.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/arch.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  * some parts from BootX, (c) Benjamin Herrenschmidt
  *
@@ -75,22 +75,22 @@
 
 	/* get RAM size */
 
-	Gestalt('ram ', &ram_size);
+	Gestalt('ram ', (long*)&ram_size);
 
 	/* get processor type */
 
-	Gestalt(gestaltProcessorType, &cpu_type);
+	Gestalt(gestaltProcessorType, (long*)&cpu_type);
 
 	/* check FPU */
 
-	if (Gestalt('FPUE', &fpu_type) == noErr)
+	if (Gestalt('FPUE', (long*)&fpu_type) == noErr)
 		fpu_type = 0;
 	else
-		Gestalt(gestaltFPUType, &fpu_type);
+		Gestalt(gestaltFPUType, (long*)&fpu_type);
 
 	/* check MMU */
 
-	Gestalt(gestaltMMUType, &mmu_type);
+	Gestalt(gestaltMMUType, (long*)&mmu_type);
 
 	/* I'v got a 'noMMU' with my 68030, not cool... */
 
@@ -109,12 +109,12 @@
 
 	/* get architecture type: powerPC or m68k */
 
-	if (Gestalt(gestaltSysArchitecture, &arch_type) != noErr)
+	if (Gestalt(gestaltSysArchitecture, (long*)&arch_type) != noErr)
 		arch_type = gestalt68k;
 
 	/* check machine type */
 
-	Gestalt(gestaltMachineType, &machine_id);
+	Gestalt(gestaltMachineType, (long*)&machine_id);
 
 	/* GMT bias */
 

Modified: branches/vendor/emile/second/arch.h
===================================================================
--- branches/vendor/emile/second/arch.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/arch.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/bank.c
===================================================================
--- branches/vendor/emile/second/bank.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/bank.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  * portion from penguin booter
  *

Modified: branches/vendor/emile/second/bank.h
===================================================================
--- branches/vendor/emile/second/bank.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/bank.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/bootenv.c
===================================================================
--- branches/vendor/emile/second/bootenv.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/bootenv.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/bootenv.h
===================================================================
--- branches/vendor/emile/second/bootenv.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/bootenv.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/bootinfo.c
===================================================================
--- branches/vendor/emile/second/bootinfo.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/bootinfo.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  *  a lot of parts from penguin booter
  *  based on bootstrap.c for Atari Linux booter, Copyright 1993 by Arjan Knor
@@ -451,20 +451,23 @@
 	l1 = boot_info.bi_mac.id;
 	dst = add_v2_boot_record(dst, V2_BI_MAC_MODEL, sizeof(l1), &l1);
 
-	l1 = boot_info.bi_mac.videoaddr;
-	dst = add_v2_boot_record(dst, V2_BI_MAC_VADDR, sizeof(l1), &l1);
+	if (boot_info.bi_mac.videoaddr)
+	{
+		l1 = boot_info.bi_mac.videoaddr;
+		dst = add_v2_boot_record(dst, V2_BI_MAC_VADDR, sizeof(l1), &l1);
 
-	l1 = boot_info.bi_mac.videodepth;
-	dst = add_v2_boot_record(dst, V2_BI_MAC_VDEPTH, sizeof(l1), &l1);
+		l1 = boot_info.bi_mac.videodepth;
+		dst = add_v2_boot_record(dst, V2_BI_MAC_VDEPTH, sizeof(l1), &l1);
 
-	l1 = boot_info.bi_mac.videorow;
-	dst = add_v2_boot_record(dst, V2_BI_MAC_VROW, sizeof(l1), &l1);
+		l1 = boot_info.bi_mac.videorow;
+		dst = add_v2_boot_record(dst, V2_BI_MAC_VROW, sizeof(l1), &l1);
 
-	l1 = boot_info.bi_mac.dimensions;
-	dst = add_v2_boot_record(dst, V2_BI_MAC_VDIM, sizeof(l1), &l1);
+		l1 = boot_info.bi_mac.dimensions;
+		dst = add_v2_boot_record(dst, V2_BI_MAC_VDIM, sizeof(l1), &l1);
 
-	l1 = boot_info.bi_mac.videological;
-	dst = add_v2_boot_record(dst, V2_BI_MAC_VLOGICAL, sizeof(l1), &l1);
+		l1 = boot_info.bi_mac.videological;
+		dst = add_v2_boot_record(dst, V2_BI_MAC_VLOGICAL, sizeof(l1), &l1);
+	}
 
 	l1 = boot_info.bi_mac.scc_read;
 	dst = add_v2_boot_record(dst, V2_BI_MAC_SCCBASE_READ, sizeof(l1), &l1);

Modified: branches/vendor/emile/second/bootx.c
===================================================================
--- branches/vendor/emile/second/bootx.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/bootx.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  *
  */

Modified: branches/vendor/emile/second/bootx.h
===================================================================
--- branches/vendor/emile/second/bootx.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/bootx.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -10,6 +10,8 @@
 #ifndef __BOOTX_H__
 #define __BOOTX_H__
 
+#include <macos/types.h>
+
 #include "misc.h"
 
 /* On kernel entry:
@@ -114,7 +116,7 @@
     /* Total params size (args + colormap + device tree + ramdisk) */
     u_int32_t       totalParamsSize;
 
-} boot_infos_t __attribute__ ((packed));
+} boot_infos_t;
 
 /* (*) The format of the colormap is 256 * 3 * 2 bytes. Each color index is represented
  * by 3 short words containing a 16 bits (unsigned) color component.

Modified: branches/vendor/emile/second/cli.c
===================================================================
--- branches/vendor/emile/second/cli.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/cli.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/cli.h
===================================================================
--- branches/vendor/emile/second/cli.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/cli.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/config.c
===================================================================
--- branches/vendor/emile/second/config.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/config.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -13,7 +13,6 @@
 #include "arch.h"
 
 #define COMMAND_LINE_LENGTH 256
-char parameters[COMMAND_LINE_LENGTH];
 
 static char *read_line(char *s)
 {
@@ -45,6 +44,55 @@
 	return word;
 }
 
+static int get_next_property(int8_t *configuration, int index, char *name, char *property)
+{
+	char *next_word, *next_line;
+	char *current_name, *current_property;
+
+	next_line = (char*)configuration + index;
+	if (*next_line == 0)
+		return -1;
+	next_word = next_line;
+	next_line = read_line(next_line);
+
+	current_name = read_word(next_word, &next_word);
+	strncpy(name, current_name, next_word - current_name);
+	name[next_word - current_name] = 0;
+
+	current_property = read_word(next_word, &next_word);
+	if (next_line - current_property != 0)
+	{
+		strncpy(property, current_property, next_line - current_property);
+
+		/* remove '\n' if needed */
+
+		if (*(next_line - 1) == '\n')
+			property[next_line - current_property - 1] = 0;
+		else
+			property[next_line - current_property] = 0;
+	}
+	else
+		*property = 0;
+
+	return next_line - (char*)configuration;
+}
+
+static int get_property(int8_t *configuration, char *name, char *property)
+{
+	int index = 0;
+	char current_name[256];
+	while (1)
+	{
+		index = get_next_property(configuration, index, 
+					  current_name, property);
+		if (index == -1)
+			break;
+		if (strcmp(name, current_name) == 0)
+			return 0;
+	}
+	return -1;
+}
+
 static char *decode_serial(char* s, int *baudrate, int *parity, int *datasize, int *stopbits)
 {
 	*baudrate = strtol(s, &s, 0);
@@ -76,124 +124,81 @@
 	return s;
 }
 
-int read_config_vga(char *conf)
+int read_config_vga(int8_t *conf)
 {
-	char *next_word, *next_line, *name, *property;
-	int name_len;
+	char property[64];
 
-	next_line = conf;
-
-	while (*next_line)
-	{
-		next_word = next_line;
-		next_line = read_line(next_line);
-		name = read_word(next_word, &next_word);
-		name_len = next_word - name;
-		property = read_word(next_word, &next_word);
-
-		if (strncmp(name, "vga", name_len) == 0)
-		{
-			return 0;
-		}
-	}
-	return -1;
+	return get_property(conf, "vga", property);
 }
 
-int read_config_modem(char *conf, int *bitrate, int *parity, int *datasize, int *stopbits)
+int read_config_modem(int8_t *conf, int *bitrate, int *parity, int *datasize, int *stopbits)
 {
-	char *next_word, *next_line, *name, *property;
-	int name_len;
+	char property[64];
+	int ret;
 
-	next_line = conf;
+	ret = get_property(conf, "modem", property);
+	if (ret == -1)
+		return -1;
 
-	while (*next_line)
-	{
-		next_word = next_line;
-		next_line = read_line(next_line);
-		name = read_word(next_word, &next_word);
-		name_len = next_word - name;
-		property = read_word(next_word, &next_word);
-
-		if (strncmp(name, "modem", name_len) == 0)
-		{
-			decode_serial(property, bitrate, parity, datasize, stopbits);
-			return 0;
-		}
-	}
-	return -1;
+	decode_serial(property, bitrate, parity, datasize, stopbits);
+	return 0;
 }
 
-int read_config_printer(char *conf, int *bitrate, int *parity, int *datasize, int *stopbits)
+int read_config_printer(int8_t *conf, int *bitrate, int *parity, int *datasize, int *stopbits)
 {
-	char *next_word, *next_line, *name, *property;
-	int name_len;
-	next_line = conf;
+	char property[64];
+	int ret;
 
-	while (*next_line)
-	{
-		next_word = next_line;
-		next_line = read_line(next_line);
-		name = read_word(next_word, &next_word);
-		name_len = next_word - name;
-		property = read_word(next_word, &next_word);
+	ret = get_property(conf, "printer", property);
+	if (ret == -1)
+		return -1;
 
-		if (strncmp(name, "printer", name_len) == 0)
-		{
-			decode_serial(property, bitrate, parity, datasize, stopbits);
-			return 0;
-		}
-	}
-	return -1;
+	decode_serial(property, bitrate, parity, datasize, stopbits);
+	return 0;
 }
 
 int read_config(emile_l2_header_t* info, 
 		char **kernel_path, char **command_line, char **ramdisk_path)
 {
-	char *next_word, *next_line, *name, *property;
+	char property[COMMAND_LINE_LENGTH];
 
-	if (!EMILE_COMPAT(EMILE_05_SIGNATURE, info->signature))
+	if (!EMILE_COMPAT(EMILE_06_SIGNATURE, info->signature))
 	{
 		printf("Bad header signature !\n");
 		return -1;
 	}
 
-	next_line = info->configuration;
-
 	*ramdisk_path = NULL;
 	*kernel_path = NULL;
 	*command_line = NULL;
-	while (*next_line)
+
+	if (get_property(info->configuration, "kernel", property) == 0)
 	{
-		next_word = next_line;
-		next_line = read_line(next_line);
-		*(next_line - 1) = 0;
+		*kernel_path = strdup(property);
+		if (*kernel_path == NULL)
+			return -1;
+	}
 
-		name = read_word(next_word, &next_word);
-		*next_word++ = 0;
+	if (get_property(info->configuration, "parameters", property) == 0)
+	{
+		*command_line = (char*)malloc(COMMAND_LINE_LENGTH);
+		if (*command_line == NULL)
+			return -1;
+		memset(*command_line, 0, COMMAND_LINE_LENGTH);
+		strncpy(*command_line, property, COMMAND_LINE_LENGTH - 1);
+	}
 
-		property = read_word(next_word, &next_word);
+	if (get_property(info->configuration, "initrd", property) == 0)
+	{
+		*ramdisk_path = strdup(property);
+		if (*ramdisk_path == NULL)
+			return -1;
+	}
 
-		if (strcmp(name, "kernel") == 0)
-		{
-			*kernel_path = property;
-		} else if (strcmp(name, "parameters") == 0) {
-#if defined(USE_CLI) && defined(__LINUX__)
-			*command_line = parameters;
-			strncpy(parameters, property, COMMAND_LINE_LENGTH);
-#else
-			if (next_word != next_line)
-				*command_line = property;
-#endif
-		}
-		else if (strcmp(name, "initrd") == 0)
-		{
-			*ramdisk_path = property;
-		}
-		else if (strcmp(name, "gestaltID") == 0)
-		{
-			machine_id = strtol(property, NULL, 0);
-			printf("User forces gestalt ID to %ld\n", machine_id);
-		}
+	if (get_property(info->configuration, "gestaltID", property) == 0)
+	{
+		machine_id = strtol(property, NULL, 0);
+		printf("User forces gestalt ID to %ld\n", machine_id);
 	}
 
 #if defined(USE_CLI) && defined(__LINUX__)

Modified: branches/vendor/emile/second/config.h
===================================================================
--- branches/vendor/emile/second/config.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/config.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 #include "head.h"
 
 extern int read_config(emile_l2_header_t* info, char **kernel_path, char **command_line, char **ramdisk_path);
-extern int read_config_vga(char *conf);
-extern int read_config_modem(char *conf, int *bitrate, int *parity, int *datasize, int *stopbits);
-extern int read_config_printer(char *conf, int *bitrate, int *parity, int *datasize, int *stopbits);
+extern int read_config_vga(int8_t *conf);
+extern int read_config_modem(int8_t *conf, int *bitrate, int *parity, int *datasize, int *stopbits);
+extern int read_config_printer(int8_t *conf, int *bitrate, int *parity, int *datasize, int *stopbits);

Modified: branches/vendor/emile/second/console.c
===================================================================
--- branches/vendor/emile/second/console.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/console.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  * 
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -21,8 +21,10 @@
 {
 	if (read_config_vga(info->configuration) == 0)
 	{
-		vga_init();
-		vga_enabled = 1;
+		if (vga_init())
+			vga_enabled = 0;
+		else
+			vga_enabled = 1;
 	}
 	serial_init(info);
 }

Modified: branches/vendor/emile/second/console.h
===================================================================
--- branches/vendor/emile/second/console.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/console.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/copymem.i
===================================================================
--- branches/vendor/emile/second/copymem.i	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/copymem.i	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/driver.c
===================================================================
--- branches/vendor/emile/second/driver.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/driver.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  * 
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -14,6 +14,52 @@
 
 #include "misc.h"
 
+#if 0
+void list_drivers()
+{
+	int i;
+	short count;
+	DCtlHandle *currentHandle;
+	DCtlPtr currentPtr;
+	DriverHeader *driverPtr, **driverHandle;
+	char name[256];
+	int j;
+	
+	count = LMGetUnitTableEntryCount();
+	currentHandle = (DCtlEntry ***) LMGetUTableBase();
+	for (i = 0; i < count; i++)
+	{
+		if (!currentHandle[i])
+			continue;
+		currentPtr = *(currentHandle[i]);
+		if (currentPtr->dCtlFlags & dRAMBasedMask)
+		{
+			driverHandle = (void*)(currentPtr->dCtlDriver);
+			if (!driverHandle)
+				continue;
+			driverPtr = *driverHandle;
+		}
+		else
+			driverPtr = (void*)(currentPtr->dCtlDriver);
+
+		for(j = 0; j < driverPtr->drvrName[0]; j++)
+			name[j] = driverPtr->drvrName[j + 1];
+		name[j] = 0;
+	
+		printf("%s\n", name);
+		printf("    drvrFlags: %04x\n", driverPtr->drvrFlags);
+		printf("    drvrDelay: %04x\n", driverPtr->drvrDelay);
+		printf("    drvrEMask: %04x\n", driverPtr->drvrEMask);
+		printf("    drvrMenu: %04x\n", driverPtr->drvrMenu);
+		printf("    drvrOpen: %04x\n", driverPtr->drvrOpen);
+		printf("    drvrPrime: %04x\n", driverPtr->drvrPrime);
+		printf("    drvrCtl: %04x\n", driverPtr->drvrCtl);
+		printf("    drvrStatus: %04x\n", driverPtr->drvrStatus);
+		printf("    drvrClose: %04x\n", driverPtr->drvrClose);
+	}
+}
+#endif
+
 void turn_off_interrupts()
 {
 	int i;
@@ -25,6 +71,8 @@
 	volatile OSErr err; /* because -O2 remove call to PBControlSync() otherwise... */
 	VDParamBlock pb;
 	VDFlagRec flag;
+	char name[256];
+	int j;
 	
 	count = LMGetUnitTableEntryCount();
 	currentHandle = (DCtlEntry ***) LMGetUTableBase();
@@ -43,14 +91,23 @@
 		else
 			driverPtr = (void*)(currentPtr->dCtlDriver);
 
+		for(j = 0; j < driverPtr->drvrName[0]; j++)
+			name[j] = driverPtr->drvrName[j + 1];
+		name[j] = 0;
+	
 		err = OpenDriver(driverPtr->drvrName, &refnum);
 		if (err != noErr)
 			continue;
-		pb.ioRefNum = refnum;
-		pb.csCode = 7; /* SetInterrupt */
-		flag.flag = 1;
-		pb.csParam = &flag;
 
-		err = PBControlSync((ParmBlkPtr) &pb);
+		if (strncmp(name, ".Display", 8) == 0)
+		{
+			pb.ioRefNum = refnum;
+			pb.csCode = 7; /* SetInterrupt */
+			flag.flag = 1;
+			pb.csParam = &flag;
+
+			err = PBControlSync((ParmBlkPtr) &pb);
+		}
+		DrvrRemove(refnum);
 	}
 }

Modified: branches/vendor/emile/second/driver.h
===================================================================
--- branches/vendor/emile/second/driver.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/driver.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  * 
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/enter_kernel.c
===================================================================
--- branches/vendor/emile/second/enter_kernel.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/enter_kernel.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -59,10 +59,9 @@
 #ifdef ARCH_PPC
 	if (arch_type == gestaltPowerPC)
 	{
-		enter_kernel = NULL;
-		end_enter_kernel = NULL;
-		disable_cache = NULL;
-		bootstrap_size = 0;
+		enter_kernel = 0;
+		end_enter_kernel = 0;
+		disable_cache = 0;
 	}
 	else
 		error("EMILE doesn't support your architecture");

Modified: branches/vendor/emile/second/enter_kernel.h
===================================================================
--- branches/vendor/emile/second/enter_kernel.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/enter_kernel.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005-2007 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -23,10 +23,6 @@
 #define PAGE_SIZE	(1UL << PAGE_SHIFT)
 #define PAGE_MASK	(~(PAGE_SIZE-1))
 
-#ifdef ARCH_PPC
-#include "enter_kernelPPC.h"
-#endif
-
 extern void enter_kernel_init(void);
 extern unsigned long enter_kernel;
 extern unsigned long end_enter_kernel;

Modified: branches/vendor/emile/second/enter_kernel030.S
===================================================================
--- branches/vendor/emile/second/enter_kernel030.S	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/enter_kernel030.S	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,10 +1,10 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004-2007 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
-	.chip 68030
+	.cpu 68030
 
 	.include "copymem.i"
 
@@ -22,7 +22,7 @@
 
 	move.l	12(%fp), %d0
 
-	/* destination addresse */
+	/* destination address */
 
 	move.l	16(%fp), %a2
 

Modified: branches/vendor/emile/second/enter_kernel030.h
===================================================================
--- branches/vendor/emile/second/enter_kernel030.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/enter_kernel030.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/enter_kernel040.S
===================================================================
--- branches/vendor/emile/second/enter_kernel040.S	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/enter_kernel040.S	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,10 +1,10 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004-2007 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
-	.chip 68040
+	.cpu 68040
 
 	.include "copymem.i"
 
@@ -22,7 +22,7 @@
 
 	move.l	12(%fp), %d0
 
-	/* destination addresse */
+	/* destination address */
 
 	move.l	16(%fp), %a2
 

Modified: branches/vendor/emile/second/enter_kernel040.h
===================================================================
--- branches/vendor/emile/second/enter_kernel040.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/enter_kernel040.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/enter_kernelnoMMU.S
===================================================================
--- branches/vendor/emile/second/enter_kernelnoMMU.S	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/enter_kernelnoMMU.S	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,9 +1,9 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004-2007 Laurent Vivier <Laurent at lvivier.info>
  *
  */
-	.chip 68000
+	.cpu 68000
 
 	.include "copymem.i"
 
@@ -21,7 +21,7 @@
 
 	move.l	12(%fp), %d0
 
-	/* destination addresse */
+	/* destination address */
 
 	move.l	16(%fp), %a2
 

Modified: branches/vendor/emile/second/enter_kernelnoMMU.h
===================================================================
--- branches/vendor/emile/second/enter_kernelnoMMU.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/enter_kernelnoMMU.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/font_8x16.c
===================================================================
--- branches/vendor/emile/second/font_8x16.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/font_8x16.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -2,7 +2,7 @@
  * file from linux 2.4.23 source tree
  * /usr/src/linux/drivers/video/font_8x16.c
  *
- * Modified by (c) Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * Modified by (c) Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -4618,7 +4618,7 @@
 
 };
 
-char* font_get(int c)
+unsigned char* font_get(int c)
 {
 	return &fontdata_8x16[c * 16];
 }

Modified: branches/vendor/emile/second/head.S
===================================================================
--- branches/vendor/emile/second/head.S	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/head.S	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,10 +1,10 @@
 /*
  *
- * (c) 2004, 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004, 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
-	.chip 68000
+	.cpu 68000
 
 .macro SysError
 	.short 0xA9C9

Modified: branches/vendor/emile/second/head.h
===================================================================
--- branches/vendor/emile/second/head.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/head.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004, 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004, 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/keyboard.c
===================================================================
--- branches/vendor/emile/second/keyboard.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/keyboard.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/keyboard.h
===================================================================
--- branches/vendor/emile/second/keyboard.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/keyboard.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/ld.script
===================================================================
--- branches/vendor/emile/second/ld.script	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/ld.script	2007-04-11 20:23:39 UTC (rev 186)
@@ -68,6 +68,9 @@
     SORT(CONSTRUCTORS)
   }
   .data1          : { *(.data1) }
+  _bootstrap_start = . ;
+  .bootstrap	  : { *(.bootstrap) }
+  _bootstrap_end = . ;
   .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
   .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
   .eh_frame       : { KEEP (*(.eh_frame)) }

Modified: branches/vendor/emile/second/load.c
===================================================================
--- branches/vendor/emile/second/load.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/load.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -81,11 +81,20 @@
 	if (ret != sizeof(Elf32_Ehdr))
 		error("Cannot read\n");
 
+#ifdef ARCH_M68K
 	if  (elf_header.e_machine != EM_68K)
 	{
 		printf( "Not MC680x0 architecture\n");
 		return NULL;
 	}
+#endif /* ARCH_M68K */
+#ifdef ARCH_PPC
+	if  (elf_header.e_machine != EM_PPC)
+	{
+		printf( "Not PowerPC architecture\n");
+		return NULL;
+	}
+#endif /* ARCH_PPC */
 
 	if (elf_header.e_type != ET_EXEC)
 	{
@@ -110,6 +119,8 @@
 	to_read = 0;
 	for (i = 0; i < elf_header.e_phnum; i++)
 	{
+		if (program_header[i].p_memsz == 0)
+			continue;
 		min_addr = (min_addr > program_header[i].p_vaddr) ?
 				program_header[i].p_vaddr : min_addr;
 		max_addr = (max_addr < program_header[i].p_vaddr + program_header[i].p_memsz) ?
@@ -125,13 +136,12 @@
 		program_header[0].p_memsz -= PAGE_SIZE;
 	}
 	kernel_size = max_addr - min_addr;
-
 	*base = min_addr;
 	*entry = elf_header.e_entry;
 	*size = kernel_size;
 
-	kernel = (char*)malloc_contiguous(kernel_size + 4 + bootstrap_size);
-	kernel = (unsigned char*)(((unsigned long)kernel + 3) & 0xFFFFFFFC);
+	kernel = (char*)malloc_contiguous(kernel_size + PAGE_SIZE + bootstrap_size);
+	kernel = (char*)(((unsigned long)kernel + PAGE_SIZE) & ~(PAGE_SIZE - 1));
 	if (!check_full_in_bank((unsigned long)kernel, kernel_size))
 		error("Kernel between two banks, contact maintainer\n");
 
@@ -146,7 +156,7 @@
 			error("Cannot seek");
 		}
 		ret = bar_read( stream, 
-				kernel + program_header[i].p_vaddr - PAGE_SIZE,
+				kernel + program_header[i].p_vaddr - min_addr,
 				program_header[i].p_filesz,
 				read, to_read);
 		if (ret != program_header[i].p_filesz)

Modified: branches/vendor/emile/second/load.h
===================================================================
--- branches/vendor/emile/second/load.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/load.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
                                                                                 

Modified: branches/vendor/emile/second/main.c
===================================================================
--- branches/vendor/emile/second/main.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/main.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004-2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004-2007 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -25,6 +25,9 @@
 #endif
 #ifdef ARCH_PPC
 #include "bootx.h"
+#include "switch_to_PPC.h"
+extern u_int32_t _bootstrap_start;
+extern u_int32_t _bootstrap_end;
 #endif
 #include "arch.h"
 #include "misc.h"
@@ -59,22 +62,19 @@
 	unsigned long aligned_addr;
 #endif /* __LINUX__ */
 #endif /* USE_MMU */
+	int ret;
+#endif /* ARCH_M68K */
 	unsigned long start_mem;
 	unsigned long entry_point;
-#endif /* ARCH_M68K */
-#ifdef ARCH_PPC
-	PPCRegisterList regs;
-#endif
-	int ret;
+	int bootstrap_size;
 	char *ramdisk_start;
-	int bootstrap_size;
 	unsigned long kernel_size;
 	unsigned long ramdisk_size;
 	char *kernel_path;
 	char *ramdisk_path;
 	char *command_line;
 
-	printf("EMILE v"VERSION" (c) 2004,2005 Laurent Vivier\n");
+	printf("EMILE v"VERSION" (c) 2004-2007 Laurent Vivier\n");
 
 	arch_init();
 
@@ -101,10 +101,16 @@
 				 end_enter_kernel - enter_kernel;
 #endif
 	}
-#ifndef ARCH_PPC
 	else
 		error("EMILE doesn't support your architecture");
 #endif
+#ifdef ARCH_PPC
+	if (arch_type == gestaltPowerPC)
+	{
+		bootstrap_size = end_enter_kernel - enter_kernel;
+	}
+	else
+		error("EMILE doesn't support your architecture");
 #endif
 
 	if (read_config(info, &kernel_path, &command_line, &ramdisk_path) != 0)
@@ -243,23 +249,29 @@
 #ifdef ARCH_PPC
 	if (arch_type == gestaltPowerPC)
 	{
+		PPCRegisterList regs;
+
 		bootx_init(command_line, ramdisk_start, ramdisk_size);
 
-		regs.PC      = (u_int32_t)kernel;
+		regs.PC	     = (u_int32_t)&_bootstrap_start;
+
 #define BOOT_KERNEL_STACK_SIZE 65536
-		regs.GPR[1]  = (u_int32_t)malloc_contiguous(BOOT_KERNEL_STACK_SIZE)
-				+ BOOT_KERNEL_STACK_SIZE - 512;
-		regs.GPR[2]  = 0;
+		regs.GPR[1]  = (u_int32_t)malloc_contiguous(BOOT_KERNEL_STACK_SIZE) + BOOT_KERNEL_STACK_SIZE - 512;
+		regs.GPR[2]  = 1;
 		regs.GPR[3]  = 'BooX';
 		regs.GPR[4]  = (u_int32_t)&bootx_infos;
+		regs.GPR[5]  = 0;
+		regs.GPR[6] = (int)&_bootstrap_start;
+		regs.GPR[7]  = 0; // where bootstrap must be copied;
+		regs.GPR[8]  = ((((&_bootstrap_end - &_bootstrap_start) + 4095) << 12) >> 12);
+		regs.GPR[9]  = 0; //boot_map_addr;
+		regs.GPR[10]  = (u_int32_t)kernel;
+		regs.GPR[11]  = 0;
 
-		/* Set up the info for BAT mapping on Nubus */
-
-		regs.GPR[5]  = vga_get_videobase() & 0xFF800000UL;
-		regs.GPR[11]  = 1;
-
 		printf("\n");
 		printf("Ok, booting the kernel.\n");
+
+		switch_to_PPC(&regs);
 	}
 	else
 		error("EMILE doesn't support your architecture");
@@ -275,10 +287,6 @@
 	if (arch_type == gestalt68k)
 		entry(physImage, kernel_size + BI_ALLOC_SIZE, start_mem, entry_point);
 #endif
-#ifdef ARCH_PPC
-	if (arch_type == gestaltPowerPC)
-		enter_kernelPPC((unsigned long)kernel, &regs);
-#endif
 
 	error("Kernel startup failed");
 

Modified: branches/vendor/emile/second/misc.c
===================================================================
--- branches/vendor/emile/second/misc.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/misc.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -24,7 +24,7 @@
 }
 
 static char buffer[256];
-unsigned char *p2cstring(unsigned char* s)
+char *p2cstring(unsigned char* s)
 {
 
 	memcpy(buffer, s + 1, s[0]);

Modified: branches/vendor/emile/second/misc.h
===================================================================
--- branches/vendor/emile/second/misc.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/misc.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004, 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004, 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -8,7 +8,7 @@
 #define __MISC_H__
 
 extern unsigned char *c2pstring(char* s);
-extern unsigned char *p2cstring(unsigned char* s);
+extern char *p2cstring(unsigned char* s);
 extern void memdump(unsigned char* addr, unsigned long size);
 extern void error(char *x) __attribute__ ((noreturn));
 

Modified: branches/vendor/emile/second/serial.c
===================================================================
--- branches/vendor/emile/second/serial.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/serial.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  * 
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/second/serial.h
===================================================================
--- branches/vendor/emile/second/serial.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/serial.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  * 
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Added: branches/vendor/emile/second/switch_to_PPC.S
===================================================================
--- branches/vendor/emile/second/switch_to_PPC.S	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/switch_to_PPC.S	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,82 @@
+/*
+ *
+ * (c) 2005-2007 Laurent Vivier <Laurent at lvivier.info>
+ * 	    from BootX, (c) Benjamin Herrenschmidt
+ *
+ */
+
+	.cpu 68020
+
+.equ	PC,  0x00FC
+.equ	GPR, 0x0100
+.equ	FPR, 0x0200
+
+#define pc	%sp@(PC)
+#define gpr(a)	%sp@(GPR + 8 * a + 4)
+#define fpr0(a)	%sp@(FPR + 8 * a)
+#define fpr1(a)	%sp@(FPR + 8 * a + 4)
+
+.macro copy_PC
+	move.l	%a1 at +, pc
+.endm
+
+.macro copy_GPR from=0, to=31
+	move.l	%a1 at +, gpr(\from)
+.if \to-\from
+	copy_GPR "(\from+1)",\to
+.endif
+.endm
+
+.macro copy_FPR from=0, to=31
+	move.l	%a1 at +, fpr0(\from)
+	move.l	%a1 at +, fpr1(\from)
+.if \to-\from
+	copy_FPR "(\from+1)",\to
+.endif
+.endm
+
+.macro _EnterPPC
+	move.l	#0x47617279, %a0 /* 'Gary' */
+	move.l	#0x05051956, %a1
+	move.l	#0x0000C000, %d0
+	moveq	#0, %d2
+	reset
+
+	move.l	%sp,-(%sp)
+0:
+	dc.w	0xFE03
+	beq	0b
+.endm
+
+	.align 4
+
+	.global switch_to_PPC
+switch_to_PPC:
+	link.w  %fp,#0
+
+	/* get PPC registers values */
+
+	 move.l  8(%fp), %a1
+
+	/* prepare stack */
+
+	move.l	%sp, %d0
+	andi.l	#0xFFFFFC00, %d0
+	move.l	%d0, %sp
+	move.l	#0x00BF, %d0
+loop:
+	clr.l	-(%sp)
+	dbra	%d0, loop
+
+	/* Initialize PPC registers */
+
+	copy_PC
+	copy_GPR
+	copy_FPR
+
+	/* Switch to PPC */
+
+	_EnterPPC
+
+	unlk	%fp
+	rts

Added: branches/vendor/emile/second/switch_to_PPC.h
===================================================================
--- branches/vendor/emile/second/switch_to_PPC.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/switch_to_PPC.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,25 @@
+/*
+ *
+ * (c) 2005-2007 Laurent Vivier <Laurent at lvivier.info>
+ *
+ * Some parts from bootX, (c) BenH
+ *
+ */
+
+#ifndef __SWITH_TO_PPC_H__
+#define __SWITH_TO_PPC_H__
+
+#include "misc.h"
+
+typedef u_int32_t float_reg_t[2]; 
+
+typedef struct PPCRegisterList
+{
+	u_int32_t	PC;
+	u_int32_t	GPR[32];
+	float_reg_t	FPR[32];
+} PPCRegisterList;
+
+extern void switch_to_PPC(PPCRegisterList* regs);
+
+#endif /* __SWITH_TO_PPC_H__ */

Modified: branches/vendor/emile/second/vga.c
===================================================================
--- branches/vendor/emile/second/vga.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/vga.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  * 
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -60,7 +60,19 @@
 	0xff	/* 0 : 1 -> 11111111 */
 };
 
-static vga_handler_t vga;
+static vga_handler_t vga =
+{
+	.video = 0,
+	.base = 0,
+	.row_bytes = 0,
+	.depth = 0,
+	.width = 0,
+	.height = 0,
+	.siz_w = 0,
+	.siz_h = 0,
+	.pos_x = 0,
+	.pos_y = 0
+};
 
 static unsigned long cursor_save_x, cursor_save_y;
 
@@ -368,19 +380,22 @@
 		*dst++ = bg32;
 }
 
-void
+int
 vga_init()
 {
 	int ret;
+	unsigned long base, video;
 
 	InitGraf(&qd.thePort);
 
-	ret = glue_display_properties((unsigned long*)&vga.base,
+	ret = glue_display_properties(&base,
 				&vga.row_bytes,
 				&vga.width,
 				&vga.height,
 				&vga.depth,
-				(unsigned long*)&vga.video);
+				&video);
+	vga.base = (unsigned char*)base;
+	vga.video = (unsigned char*)video;
 	if (ret)
 	{
 		vga.base = qd.screenBits.baseAddr;
@@ -398,6 +413,8 @@
 	vga.siz_h	= vga.height / 16;
 
 	vga_clear();
+
+	return 0;
 }
 
 void

Modified: branches/vendor/emile/second/vga.h
===================================================================
--- branches/vendor/emile/second/vga.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/second/vga.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,13 +1,13 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #ifndef __VGA_H__
 #define __VGA_H__
 
-extern void vga_init();
+extern int vga_init();
 
 extern void vga_put(char c);
 extern void vga_print(char *s);

Modified: branches/vendor/emile/tools/Makefile
===================================================================
--- branches/vendor/emile/tools/Makefile	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/tools/Makefile	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 #
 #
-# (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+# (c) 2004 Laurent Vivier <Laurent at lvivier.info>
 #
 #
 
@@ -11,12 +11,13 @@
 
 PROGRAMS = emile-set-cmdline emile-first-tune emile-install \
 	   emile-set-output emile emile-map-set iso9660_ls \
-	   iso9660_cat minigzip read_vmlinuz
+	   iso9660_cat minigzip read_vmlinuz emile-mkisofs
 
 SOURCES	= emile-set-cmdline.c Makefile emile-first-tune.c \
 		  emile-install.c emile-set-output.c emile.c \
 		  emile_scanbus.c emile-map-set.c iso9660_ls.c \
-		  iso9660_cat.c minigzip.c read_vmlinuz.c device.c gzio.c
+		  iso9660_cat.c minigzip.c read_vmlinuz.c device.c gzio.c \
+		  emile-mkisofs.c
 
 HEADERS	= device.h
 
@@ -24,9 +25,9 @@
 
 CPPFLAGS = $(CROSS_COMPILE_CPPFLAGS) -DSIGNATURE="\"$(SIGNATURE)\"" -DPREFIX=\"$(PREFIX)\" \
 	   -I../libemile -I../libiso9660 -I../libgzip -I../libstream \
-	   -I../libcontainer -DFATFREE -DNO_GZCOMPRESS
+	   -I../libcontainer -I../libmacos -DFATFREE -DNO_GZCOMPRESS
 
-CFLAGS	= -Wall -g
+CFLAGS	= -Wall -Werror -g
 LDLIBS = $(CROSS_COMPILE_LDFLAGS) -L../libemile -lemile -L../libiso9660/native -liso9660 -L../libgzip/native -lgzip
 
 all: $(PROGRAMS)
@@ -43,6 +44,8 @@
 
 read_vmlinuz: read_vmlinuz.o gzio.o
 
+emile-mkisofs: emile-mkisofs.o device.o
+
 install:
 	install -d $(DESTDIR)/$(PREFIX)/sbin/
 	install emile-set-cmdline $(DESTDIR)/$(PREFIX)/sbin/emile-set-cmdline
@@ -51,6 +54,7 @@
 	install emile-set-output $(DESTDIR)/$(PREFIX)/sbin/emile-set-output
 	install emile $(DESTDIR)/$(PREFIX)/sbin/emile
 	install emile-map-set $(DESTDIR)/$(PREFIX)/sbin/emile-map-set
+	install emile-mkisofs $(DESTDIR)/$(PREFIX)/sbin/emile-mkisofs
 
 uninstall:
 	rm -f $(DESTDIR)/$(PREFIX)/sbin/emile-set-cmdline
@@ -59,6 +63,7 @@
 	rm -f $(DESTDIR)/$(PREFIX)/sbin/emile-set-output
 	rm -f $(DESTDIR)/$(PREFIX)/sbin/emile
 	rm -f $(DESTDIR)/$(PREFIX)/sbin/emile-map-set
+	rm -f $(DESTDIR)/$(PREFIX)/sbin/emile-mkisofs
 
 dist:
 	@echo TAR tools

Modified: branches/vendor/emile/tools/device.c
===================================================================
--- branches/vendor/emile/tools/device.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/tools/device.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -13,8 +13,6 @@
 #define SECTOR_SIZE     (2048)
 #define ISO_BLOCKS(X)   (((X) / SECTOR_SIZE) + (((X)%SECTOR_SIZE)?1:0))
 
-static const char *filename = "/dev/cdrom";
-
 int device_read_sector(void *data,off_t offset, void* buffer, size_t size)
 {
 	FILE* file = (FILE*)data;
@@ -30,11 +28,14 @@
 		fclose(file);
 }
 
-FILE *device_open(void)
+FILE *device_open(char *device)
 {
 	FILE* file;
 
-	file = fopen(filename, "rb");
+	if (device == NULL)
+		return NULL;
+
+	file = fopen(device, "rb");
 	if (file == NULL)
 		return NULL;
 

Modified: branches/vendor/emile/tools/device.h
===================================================================
--- branches/vendor/emile/tools/device.h	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/tools/device.h	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -10,6 +10,6 @@
 
 #include <libstream.h>
 
-extern FILE *device_open(void);
+extern FILE *device_open(char *device);
 extern void device_close(void *data);
 extern int device_read_sector(void *data, off_t offset, void* buffer, size_t size);

Modified: branches/vendor/emile/tools/emile-first-tune.c
===================================================================
--- branches/vendor/emile/tools/emile-first-tune.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/tools/emile-first-tune.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -13,14 +13,20 @@
 #include <string.h>
 #include <getopt.h>
 
+#include "emile.h"
 #include "libemile.h"
+#include "bootblock.h"
 
+#define BLOCK_SIZE	512
+
 enum {
 	ARG_NONE = 0,
 	ARG_HELP ='h',
 	ARG_DRIVE = 'd',
 	ARG_OFFSET ='o',
 	ARG_SIZE = 's',
+	ARG_PATH = 'p',
+	ARG_SCSI = 'i',
 };
 
 static struct option long_options[] =
@@ -29,16 +35,22 @@
 	{"drive",	1, NULL,	ARG_DRIVE	},
 	{"offset",	1, NULL,	ARG_OFFSET	},
 	{"size",	1, NULL,	ARG_SIZE	},
+	{"path",	1, NULL,	ARG_PATH	},
+	{"scsi",	0, NULL,	ARG_SCSI	},
 	{NULL,		0, NULL,	0		},
 };
 
 static void usage(int argc, char** argv)
 {
-	fprintf(stderr, "Usage: %s [-d <drive>][-o <offset>][-s <size>] <image>\n", argv[0]);
-	fprintf(stderr, "Set EMILE first level boot block info\n");
+	fprintf(stderr, "Usage: %s [-i][-d <drive>][-o <offset>][-s <size>] <image>\n", argv[0]);
+	fprintf(stderr, "Usage: %s [-p <path>|-b <id> <start> <length>] <image>\n", argv[0]);
+	fprintf(stderr, "Set EMILE first level boot block info (floppy or scsi):\n");
 	fprintf(stderr, "   -d, --drive <drive>   set the drive number (default 1)\n");
 	fprintf(stderr,	"   -o, --offset <offset> set offset of second level in bytes\n");
 	fprintf(stderr,	"   -s, --size <size>     set size of second level in bytes\n");
+	fprintf(stderr, "   -i, --scsi            specify scsi first level format (offset is a block number)\n");
+	fprintf(stderr, "Set EMILE first level boot block info (scsi):\n");
+	fprintf(stderr, "   -p, --path <path>     set path of second level\n");
 	fprintf(stderr, "Display current values if no flags provided\n");
 	fprintf(stderr, "\nbuild: \n%s\n", SIGNATURE);
 }
@@ -78,18 +90,96 @@
 	return 0;
 }
 
+int first_tune_path( char* image, char *second_path)
+{
+	int fd;
+	int ret;
+
+	fd = open(image, O_RDWR);
+	if (fd == -1)
+	{
+		perror("Cannot open image file");
+		return 2;
+	}
+
+	ret = emile_first_set_param_scsi(fd, second_path);
+
+	close(fd);
+	return ret;
+}
+
+int first_tune_scsi( char* image, int drive_num, int second_offset, int size)
+{
+	int fd;
+	int ret;
+
+	fd = open(image, O_RDWR);
+	if (fd == -1)
+	{
+		perror("Cannot open image file");
+		return 2;
+	}
+
+	if (drive_num == -1)
+	{
+		eBootBlock_t firstBlock;
+		int ret;
+		unsigned short *max_blocks = (unsigned short*)(((char*)&firstBlock) + 1022);
+		unsigned long *second_size = (unsigned long*)(((char*)&firstBlock) + 1018);
+		unsigned short *unit_id = (unsigned short*)(((char*)&firstBlock) + 1016);
+		unsigned short *block_size = (unsigned short*)(((char*)&firstBlock) + 1014);
+		char *ptr = ((char*)&firstBlock) + 1012;
+
+		ret = read(fd, &firstBlock, sizeof(firstBlock));
+		if (ret != sizeof(firstBlock))
+		{
+			printf("ERROR: cannot read bootblock\n");
+			return 1;
+		}
+		if ( strncmp( (char*)firstBlock.boot_block_header.SysName+1,
+			      "Mac Bootloader", 14) != 0 )
+		{
+			printf("ERROR: not an EMILE bootblock\n");
+			return 2;
+		}
+		printf("Container size : %d\n", *max_blocks);
+		printf("Second size    : %ld\n", *second_size);
+		printf("Unit id        : %d\n", *unit_id);
+		printf("Block size     : %d\n", *block_size);
+		printf("Extents        :\n");
+		while (*(short*)ptr != 0)
+		{
+			printf("(%d,", *(short*)ptr);
+			ptr -= 4;
+			printf("%ld) ", *(unsigned long*)ptr);
+			ptr -= 2;
+		}
+		putchar('\n');
+	}
+	else
+		ret = emile_first_set_param_scsi_extents(fd, drive_num, 
+							 second_offset, 
+							 size, BLOCK_SIZE);
+
+	close(fd);
+
+	return ret;
+}
+
 int main(int argc, char** argv)
 {
 	int ret;
 	int option_index;
 	int c;
 	char* image = NULL;
+	char* path = NULL;
 	unsigned short tune_mask = 0;
-	int drive_num, second_offset, second_size;
+	int drive_num = -1, second_offset, second_size;
+	int use_scsi = 0;
 
 	while(1)
 	{
-		c = getopt_long(argc, argv, "hd:o:f:", long_options,
+		c = getopt_long(argc, argv, "hd:o:s:p:i", long_options,
 				&option_index);
 		if (c == EOF)
 			break;
@@ -106,19 +196,30 @@
 		case ARG_OFFSET:
 			tune_mask |= EMILE_FIRST_TUNE_OFFSET;
 			second_offset = atoi(optarg);
-			second_offset = (second_offset + 0x1FF) & 0xFFFFFE00;
 			break;
 		case ARG_SIZE:
 			tune_mask |= EMILE_FIRST_TUNE_SIZE;
 			second_size = atoi(optarg);
-			second_size = (second_size + 0x1FF) & 0xFFFFFE00;
 			break;
+		case ARG_PATH:
+			path = optarg;
+			break;
+		case ARG_SCSI:
+			use_scsi = 1;
+			break;
 		}
 	}
 
 	if (optind < argc)
 		image = argv[optind];
 
+	if (path && tune_mask)
+	{
+		fprintf(stderr, "ERROR: you cannot supply second path and size, offset or drive number\n");
+		usage(argc, argv);
+		return 1;
+	}
+
 	if (image == NULL)
 	{
 		fprintf(stderr, "ERROR: Missing filename to apply tuning\n");
@@ -126,7 +227,15 @@
 		return 1;
 	}
 
-	ret = first_tune( image, tune_mask, drive_num, second_offset, second_size);
+	if (path)
+		ret = first_tune_path( image, path);
+	else if (use_scsi)
+		ret = first_tune_scsi( image, drive_num, second_offset, second_size);
+	else {
+		second_offset = (second_offset + 0x1FF) & 0xFFFFFE00;
+		second_size = (second_size + 0x1FF) & 0xFFFFFE00;
+		ret = first_tune( image, tune_mask, drive_num, second_offset, second_size);
+	}
 	switch(ret)
 	{
 	case 0:

Modified: branches/vendor/emile/tools/emile-install.c
===================================================================
--- branches/vendor/emile/tools/emile-install.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/tools/emile-install.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004,2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004,2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 

Modified: branches/vendor/emile/tools/emile-map-set.c
===================================================================
--- branches/vendor/emile/tools/emile-map-set.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/tools/emile-map-set.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -13,11 +13,13 @@
 #include <string.h>
 #include <unistd.h>
 
+#include "partition.h"
 #include "libemile.h"
 
 int verbose = 0;
 
 extern void scanbus(void);
+extern void diskinfo(char*);
 
 
 enum {
@@ -57,8 +59,8 @@
 
 static void usage(int argc, char** argv)
 {
-	fprintf(stderr, "Usage: %s [--verbose|-v] --scanbus\n", argv[0]);
-	fprintf(stderr, "Usage: %s [--startup|--flags FLAGS][--type TYPE][--get-driver|-g FILE][--put-driver|-p FILE] <partition>\n", argv[0]);
+	fprintf(stderr, "Usage: %s [--verbose|-v] [--scanbus|<disk>]\n", argv[0]);
+	fprintf(stderr, "Usage: %s [--startup|--flags FLAGS][--type TYPE][--get-driver|-g FILE][--put-driver|-p FILE] [<partition>|<disk> <part number>]\n", argv[0]);
 	fprintf(stderr, "\nbuild: \n%s\n", SIGNATURE);
 }
 
@@ -68,12 +70,12 @@
 	int block_size, block_count;
 	int driver_number;
 	int block, size, type, part;
+	int partition_base, partition_size;
 	int bootstart, bootsize, bootaddr, bootentry, checksum;
 	char processor[16];
-	char *code;
+	unsigned char *code;
 	int fd;
 	int ret;
-	char part_name[16];
 
 	emile_map_read(map, partition);
 	if (strncmp(emile_map_get_partition_type(map), 
@@ -91,7 +93,11 @@
 	}
 
 	emile_map_geometry(map, &block_size, &block_count);
+	printf("block size: %d\n", block_size);
 
+	emile_map_get_partition_geometry(map, &partition_base, &partition_size);
+	printf("partition base: %d, size %d\n", partition_base, partition_size);
+
 	driver_number = emile_map_get_driver_number(map);
 	if (driver_number == 0)
 	{
@@ -105,7 +111,18 @@
 		part  = emile_map_seek_driver_partition(map, 
 						block * block_size / 512 );
 		if (part == partition)
-			break;
+		{
+			emile_map_read(map, part);
+			if (emile_is_apple_driver(map))
+				break;
+		}
+		part  = emile_map_seek_driver_partition(map, block);
+		if (part == partition)
+		{
+			emile_map_read(map, part);
+			if (emile_is_apple_driver(map))
+				break;
+		}
 	}
 	if (part != partition)
 	{
@@ -114,7 +131,8 @@
 		return -1;
 	}
 	printf("Found driver %d for partition %d\n", driver, partition + 1);
-	printf("base: %d size: %d type: 0x%x\n", block, size, type);
+	printf("base: %d size: %d type: %d\n", block * block_size / 512, 
+					     size * block_size / 512 , type);
 	emile_map_get_bootinfo(map, &bootstart, &bootsize, &bootaddr, 
 				    &bootentry, &checksum, processor);
 	printf("Bootstart: %d, Bootsize: %d, Bootaddr: %d, Bootentry: %d\n",
@@ -128,15 +146,14 @@
 		return -1;
 	}
 
-	code = (char*)malloc(bootsize);
+	code = (unsigned char*)malloc(partition_size * 512);
 	if (code == NULL)
 	{
 		fprintf(stderr, "ERROR: cannot malloc() to load driver in memory\n");
 		return -1;
 	}
 
-	sprintf(part_name, "%s%d", emile_map_dev(map), partition + 1);
-	fd = open(part_name, O_RDONLY);
+	fd = open(emile_map_dev(map), O_RDONLY);
 	if (fd == -1)
 	{
 		fprintf(stderr, "ERROR: cannot read driver (open())\n");
@@ -144,6 +161,13 @@
 		return -1;
 	}
 
+	if (lseek(fd, block * block_size,SEEK_SET) != (block * block_size))
+	{
+		fprintf(stderr, "ERROR: cannot read driver (lseek())\n");
+		free(code);
+		return -1;
+	}
+
 	ret = read(fd, code, bootsize);
 	close(fd);
 
@@ -154,9 +178,10 @@
 		return -1;
 	}
 
-	if (emile_checksum(code, bootsize) != checksum)
+	ret = emile_checksum(code, bootsize);
+	if (ret != checksum)
 		fprintf(stderr, "WARNING: checksum is invalid (0x%x)\n",
-				emile_checksum(code, bootsize));
+				ret);
 	else
 		printf("Checksum OK\n");
 
@@ -187,7 +212,7 @@
 	int block_size, block_count;
 	int fd;
 	int ret;
-	char* code;
+	unsigned char* code;
 	struct stat st;
 	int driver_number;
 	int block, count, checksum;
@@ -329,9 +354,10 @@
 	emile_map_t *map;
 	int ret;
 	int disk;
-	int partition;
-	char disk_name[16];
-	char *driver;
+	int partition = 0;
+	char *disk_name;
+	char buffer[16];
+	int driver;
 	int action = ACTION_NONE;
 	char *dev_name = NULL;
 	char *appledriver = NULL;
@@ -378,6 +404,24 @@
 			break;
 		}
 	}
+	if (optind < argc)
+		dev_name = argv[optind++];
+	if (optind < argc)
+	{
+		partition = strtol(argv[optind++], NULL, 0);
+		if (partition == 0)
+		{
+			fprintf(stderr,
+	"ERROR: partition number cannot be 0 !\n");
+			return 1;
+		}
+	}
+
+	if ( !action && dev_name)
+	{
+		diskinfo(dev_name);
+		return 0;
+	}
 	if (action & ACTION_SCANBUS) {
 		if (action & ~ACTION_SCANBUS) {
 			fprintf(stderr,
@@ -393,21 +437,33 @@
 		return 1;
 	}
 
-	if (optind < argc)
-		dev_name = argv[optind];
-
 	if (dev_name == NULL)
 	{
 		fprintf(stderr, "ERROR: you must specify a device\n");
 		return 1;
 	}
 
-	ret = emile_scsi_get_rdev(dev_name, &driver, &disk, &partition);
-	if (ret == -1)
+	if (partition == 0)
+		ret = emile_scsi_get_rdev(dev_name, &driver, &disk, &partition);
+	else
+		ret = emile_scsi_get_rdev(dev_name, &driver, &disk, NULL);
+	if ( (ret == -1) && (optind < argc))
 	{
+		disk_name = dev_name;
+		driver = 0;
+		disk = 0;
+		partition = atoi(argv[optind++]);
+	}
+	else if (ret == -1)
+	{
 		fprintf(stderr, "ERROR: cannot find disk of %s\n", dev_name);
 		return 1;
 	}
+	else
+	{
+		emile_get_dev_name(buffer, driver, disk, 0);
+		disk_name = buffer;
+	}
 
 	if (partition == 0)
 	{
@@ -416,7 +472,6 @@
 		return 1;
 	}
 
-	sprintf(disk_name, "%s%c", driver, 'a' + disk);
 
 	if (action & ACTION_STARTUP)
 	{

Added: branches/vendor/emile/tools/emile-mkisofs.c
===================================================================
--- branches/vendor/emile/tools/emile-mkisofs.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/tools/emile-mkisofs.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -0,0 +1,410 @@
+/*
+ *
+ * (c) 2004-2006 Laurent Vivier <Laurent at lvivier.info>
+ *
+ * Some parts from mkisofs/apple_driver.c, (c) James Pearson 17/5/98
+ *
+ * By extracting a driver from an Apple CD, you become liable to obey
+ * Apple Computer, Inc. Software License Agreements.
+ *
+ */
+
+#define DRIVER_SIZE	(64*1024)
+
+#define FIRST_PATH	"/boot/emile/first_scsi"
+#define SECOND_PATH	"/boot/emile/m68k-second_scsi"
+
+//-f ../first/first_scsi -s ../second/m68k-linux-scsi/second -k "/install/kernels/vmlinuz-2.2.25-mac" -r "/install/cdrom/initrd22.gz" -d Apple_Driver43 -a "root=/dev/ramdisk ramdisk_size=13000" boot.img /mnt/cdrom
+
+#include <stdio.h>
+#include <getopt.h>
+#include <string.h>
+#include <stdlib.h>
+#include <libgen.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+
+#include <partition.h>
+#include <emile.h>
+#include <libemile.h>
+#include <libiso9660.h>
+#include <libstream.h>
+
+#include "device.h"
+
+#define COMMAND "/usr/bin/mkisofs %s -hfs -joliet -R -boot-hfs-file %s -graft-points -o %s %s=%s"
+
+enum {
+	ARG_NONE = 0,
+	ARG_HELP ='h',
+	ARG_VERBOSE = 'v',
+	ARG_FIRST = 'f',
+	ARG_SECOND = 's',
+	ARG_KERNEL = 'k',
+	ARG_RAMDISK = 'r',
+	ARG_APPEND = 'a',
+	ARG_APPLEDRIVER = 'd',
+};
+
+static struct option long_options[] = 
+{
+	{"help",	0, NULL,	ARG_HELP	},
+	{"verbose",	0, NULL,	ARG_VERBOSE	},
+	{"first",	1, NULL,	ARG_FIRST	},
+	{"second",	1, NULL,	ARG_SECOND	},
+	{"kernel",	1, NULL,	ARG_KERNEL	},
+	{"ramdisk",	1, NULL,	ARG_RAMDISK	},
+	{"append",	1, NULL,	ARG_APPEND	},
+	{"appledriver",	1, NULL,	ARG_APPLEDRIVER },
+	{NULL,		0, NULL,	0		},
+};
+
+static void usage(int argc, char** argv)
+{
+	fprintf(stderr, "Usage %s [FLAGS] filename pathspec [pathspec ...]\n", 
+			argv[0]);
+	fprintf(stderr, "Create and EMILE bootable CDROM\n");
+	fprintf(stderr, "   -h, --help        display this text\n");
+	fprintf(stderr, "   -v, --verbose     verbose mode\n");
+	fprintf(stderr, "   -f, --first       first level to copy to CDROM\n");
+	fprintf(stderr, "   -s, --second      second level to copy to CDROM\n");
+	fprintf(stderr, "   -k, --kernel      path of the kernel on CDROM\n");
+	fprintf(stderr, "   -r, --ramdisk     path of ramdisk on CDROM\n");
+	fprintf(stderr, "   -a, --append      set kernel command line\n");
+	fprintf(stderr, "   -d, --appledriver appledriver to copy to CDROM\n");
+	fprintf(stderr, "\nbuild: \n%s\n", SIGNATURE);
+}
+
+#define BLOCKSIZE	(2048)
+
+static int create_apple_driver(char *temp, char *appledriver, char *first_level)
+{
+	struct DriverDescriptor block0;
+	struct Partition map2048;
+	struct Partition map512;
+	FILE* fd;
+	int fd_driver;
+	char *buffer;
+	unsigned char *driver;
+	int ret;
+	struct stat st;
+
+	/* read apple driver */
+
+	fd_driver = open(appledriver, O_RDONLY);
+	if (fd_driver == -1)
+	{
+		fprintf(stderr, "Cannot open %s\n", appledriver);
+		return -1;
+	}
+	fstat(fd_driver, &st);
+	driver = malloc(DRIVER_SIZE);
+	memset(driver, 0, DRIVER_SIZE);
+	if (driver == NULL)
+	{
+		fprintf(stderr, "Cannot malloc %d bytes\n", DRIVER_SIZE);
+		return -1;
+	}
+	ret = read(fd_driver, driver, st.st_size);
+
+	close(fd_driver);
+
+	/*	HFS CD Label Block                              512 bytes
+	 *      Driver Partition Map (for 2048 byte blocks)     512 bytes
+	 *      Driver Partition Map (for 512 byte blocks)      512 bytes
+	 *      Empty                                           512 bytes
+	 *      Driver Partition                                N x 2048 bytes
+	 *      HFS Partition Boot Block                        1024 bytes
+	 */
+
+
+	memset(&block0, 0, sizeof(block0));
+	write_short((u_int16_t*)&block0.Sig, DD_SIGNATURE);
+	write_short((u_int16_t*)&block0.BlkSize, BLOCKSIZE);
+	write_long((u_int32_t*)&block0.BlkCount, 0);		// set by mkisofs
+	write_short((u_int16_t*)&block0.DevType, 1);
+	write_short((u_int16_t*)&block0.DevId, 1);
+	write_long((u_int32_t*)&block0.Data, 0);
+	write_short((u_int16_t*)&block0.DrvrCount, 1);
+
+	write_long((u_int32_t*)&block0.DrvInfo[0].Block, 0);
+	write_short((u_int16_t*)&block0.DrvInfo[0].Size, (DRIVER_SIZE + BLOCKSIZE - 1) / BLOCKSIZE);
+	write_short((u_int16_t*)&block0.DrvInfo[0].Type, kDriverTypeMacSCSI);
+
+	memset(&map512, 0, sizeof(map512));
+	write_short((u_int16_t*)&map512.Sig, MAP_SIGNATURE);
+	write_long((u_int32_t*)&map512.PartBlkCnt, (DRIVER_SIZE + 512 - 1) / 512);
+	write_long((u_int32_t*)&map512.PyPartStart,0);
+	strncpy(map512.PartName, "Macintosh", 32);
+	strncpy(map512.PartType, APPLE_DRIVER43, 32);
+	write_long((u_int32_t*)&map512.LgDataStart, 0);
+	write_long((u_int32_t*)&map512.DataCnt, 0);
+	write_long((u_int32_t*)&map512.PartStatus, kPartitionAUXIsValid | 
+				   kPartitionAUXIsAllocated | 
+				   kPartitionAUXIsInUse | 
+				   kPartitionAUXIsBootValid | 
+				   kPartitionAUXIsReadable | 
+				   kPartitionAUXIsWriteable | 
+				   kPartitionAUXIsBootCodePositionIndependent | 
+				   kPartitionIsChainCompatible | 
+				   kPartitionIsRealDeviceDriver);
+	write_long((u_int32_t*)&map512.LgBootStart, 0);
+	write_long((u_int32_t*)&map512.BootSize, st.st_size);
+	write_long((u_int32_t*)&map512.BootAddr, 0);
+	write_long((u_int32_t*)&map512.BootAddr2, 0);
+	write_long((u_int32_t*)&map512.BootEntry, 0);
+	write_long((u_int32_t*)&map512.BootEntry2, 0);
+	write_long((u_int32_t*)&map512.BootCksum, emile_checksum(driver, st.st_size));
+	strncpy(map512.Processor, "68000", 16);
+	write_long((u_int32_t*)map512.Pad, kSCSICDDriverSignature);
+
+	map2048 = map512;
+	write_long((u_int32_t*)&map2048.PartBlkCnt, (DRIVER_SIZE + BLOCKSIZE - 1) / BLOCKSIZE);
+
+	strcpy(temp, "/tmp/emile-mkisofs-XXXXXX");
+	mkstemp(temp);
+	fd = fopen(temp, "w");
+
+	ret = fwrite(&block0, 1, sizeof(block0), fd);
+	ret = fwrite(&map2048, 1, sizeof(map2048), fd);
+	ret = fwrite(&map512, 1, sizeof(map512), fd);
+	memset(&map512, 0, sizeof(map512));
+	ret = fwrite(&map512, 1, sizeof(map512), fd);
+
+	fwrite(driver, DRIVER_SIZE, 1, fd);
+	free(driver);
+
+	/* read and write bootblock */
+
+	buffer = malloc(1024);
+	fd_driver = open(first_level, O_RDONLY);
+	if (fd_driver == -1)
+	{
+		fprintf(stderr, "ERROR: Cannot open first level \"%s\"\n",
+				first_level);
+		return -1;
+	}
+	read(fd_driver, buffer, 1024);
+	fwrite(buffer, 1024, 1, fd);
+	close(fd_driver);
+	free(buffer);
+
+	fclose(fd);
+
+	return 0;
+}
+
+static int get_second_position(char *image, char *name, int *second_offset, int *second_size)
+{
+	device_io_t device;
+	iso9660_FILE* file;
+	iso9660_VOLUME *volume;
+
+	device.data = device_open(image);
+	device.read_sector = (stream_read_sector_t)device_read_sector;
+	device.close = (stream_close_t)device_close;
+
+	volume = iso9660_mount(&device);
+	if (volume == NULL)
+	{
+		fprintf(stderr, "ERROR: Cannot open \"%s\"\n", image);
+		return 1;
+	}
+
+	file = iso9660_open(volume, name);
+	if (file == NULL)
+	{
+		fprintf(stderr, "ERROR: Cannot locate \"%s\" in the image\n", name);
+		return 2;
+	}
+
+	*second_offset = file->base * 4;
+	*second_size = file->size;
+
+	iso9660_close(file);
+	iso9660_umount(volume);
+	device_close(device.data);
+
+	return 0;
+}
+
+static int set_second(char *image, int second_offset, char *kernel_image, char *cmdline, char *ramdisk)
+{
+	int fd;
+	int ret;
+	char k[512], r[512];
+
+	if (kernel_image)
+	{
+		sprintf(k, "iso9660:(sd3)%s", kernel_image);
+		kernel_image = k;
+	}
+	if (ramdisk)
+	{
+		sprintf(r, "iso9660:(sd3)%s", ramdisk);
+		ramdisk = r;
+	}
+
+	fd = open(image, O_RDWR);
+	lseek(fd, second_offset * 512, SEEK_SET);
+	ret = emile_second_set_param(fd, kernel_image, cmdline, ramdisk);
+	close(fd);
+
+	return ret;
+}
+
+static int set_first(char *image, int drive_num, int second_offset, int second_size)
+{
+	int fd;
+	emile_map_t* map;
+	int start, count;
+	int ret;
+	int i;
+	int boottype;
+	char bootblock[BOOTBLOCK_SIZE];
+
+	map = emile_map_open(image, O_RDONLY);
+	for (i = 0; i < emile_map_get_number(map); i++)
+	{
+		emile_map_read(map, i);
+		if ( strcmp(APPLE_HFS, emile_map_get_partition_type(map)) == 0) {
+			ret = emile_map_get_partition_geometry(map, &start, &count);
+			emile_map_bootblock_read(map, bootblock);
+			boottype = emile_map_bootblock_get_type(bootblock);
+			if (boottype == EMILE_BOOTBLOCK)
+			{
+				printf("Bootable HFS partition found at position %d (%d * %d)\n",
+						i, start, count);
+				break;
+			}
+		}
+	}
+	emile_map_close(map);
+
+	if (i == emile_map_get_number(map))
+		return -1;
+
+	fd = open(image, O_RDWR);
+	ret = lseek(fd, start * 512, SEEK_SET);
+	ret = emile_first_set_param_scsi_extents(fd, 3, second_offset / 4, second_size, BLOCKSIZE);
+	close(fd);
+
+	return ret;
+}
+
+int main(int argc, char** argv)
+{
+	int verbose = 0;
+	int option_index = 0;
+	char* first_level = NULL;
+	char* second_level = NULL;
+	char* kernel_image = NULL;
+	char* ramdisk = NULL;
+	char* image = NULL;
+	char* appledriver = NULL;
+	char *cmdline = NULL;
+	int c;
+	char temp[256];
+	int i;
+	char second_on_iso[256];
+	int second_offset;
+	int second_size;
+	char *buffer;
+
+	while(1)
+	{
+		c = getopt_long(argc, argv, "hvf:s:k:r:d:i:a:", long_options,
+				&option_index);
+		if (c == -1)
+			break;
+		switch(c)
+		{
+		case ARG_HELP:
+			usage(argc, argv);
+			return 0;
+		case ARG_VERBOSE:
+			verbose = 1;
+			break;
+		case ARG_FIRST:
+			first_level = optarg;
+			break;
+		case ARG_SECOND:
+			second_level = optarg;
+			break;
+		case ARG_KERNEL:
+			kernel_image = optarg;
+			break;
+		case ARG_RAMDISK:
+			ramdisk = optarg;
+			break;
+		case ARG_APPEND:
+			cmdline = optarg;
+			break;
+		case ARG_APPLEDRIVER:
+			appledriver = optarg;
+			break;
+		}
+	}
+
+	if (optind < argc)
+		image = argv[optind++];
+
+	if (image == NULL)
+	{
+		fprintf(stderr,"ERROR: you must provide a filename to write image\n");
+		usage(argc, argv);
+		return 1;
+	}
+
+	if (first_level == NULL)
+	{
+		first_level = FIRST_PATH;
+	}
+
+	if (second_level == NULL)
+	{
+		second_level = SECOND_PATH;
+	}
+
+	if (create_apple_driver(temp, appledriver, first_level))
+		return 1;
+
+	buffer = malloc(65536);
+	
+	strcpy(second_on_iso, kernel_image);
+	dirname(second_on_iso);
+	strcat(second_on_iso, "/emile");
+
+	if (verbose)
+		sprintf(buffer, COMMAND, "", temp, image, second_on_iso, second_level);
+	else
+		sprintf(buffer, COMMAND, "-quiet", temp, image, second_on_iso, second_level);
+
+	for (i = optind; i < argc; i++)
+	{
+		strcat(buffer, " ");
+		strcat(buffer, argv[i]);
+	}
+	printf("%s\n",buffer);
+	system(buffer);
+
+	free(buffer);
+
+	unlink(temp);
+
+	if (get_second_position(image, second_on_iso, 
+				&second_offset, &second_size))
+	{
+		return 2;
+	}
+
+	printf("Second is at %d * %d\n", second_offset, second_size);
+
+	set_first(image, 3, second_offset, second_size);
+
+	set_second(image, second_offset, kernel_image, cmdline, ramdisk);
+
+	return 0;
+}

Modified: branches/vendor/emile/tools/emile-set-cmdline.c
===================================================================
--- branches/vendor/emile/tools/emile-set-cmdline.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/tools/emile-set-cmdline.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,11 +1,12 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
 #include <stdio.h>
 #include <unistd.h>
+#include <getopt.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
@@ -14,34 +15,43 @@
 
 #include "libemile.h"
 
+enum {
+	ARG_NONE = 0,
+	ARG_HELP ='h',
+	ARG_KERNEL = 'k',
+	ARG_RAMDISK = 'r',
+	ARG_APPEND = 'a',
+	ARG_GETINFO = 'g',
+};
+
+static struct option long_options[] =
+{
+	{"help",	0, NULL,	ARG_HELP	},
+	{"kernel",	1, NULL,	ARG_KERNEL	},
+	{"ramdisk",	1, NULL,	ARG_RAMDISK	},
+	{"append",	1, NULL,	ARG_APPEND	},
+	{"getinfo",	1, NULL,	ARG_GETINFO	},
+	{NULL,		0, NULL,	0		},
+};
+
 static void usage(int argc, char** argv)
 {
-	fprintf(stderr, "Usage: %s <file> <cmdline>\n", argv[0]);
-	fprintf(stderr, "Usage: %s -r <file>\n", argv[0]);
-	fprintf(stderr, "\n     Allows to set the kernel command line <cmdline>\n");
-	fprintf(stderr, "     into the floppy image or the second level file\n");
-	fprintf(stderr, "     <image> can be a file or a device (/dev/fd0)\n");
-	fprintf(stderr, "     with \"-r\" flag, display current command line\n");
-	fprintf(stderr, "\n     Examples:\n");
-	fprintf(stderr, "\n     To set root filesystem on disk 1 partition 4\n");
-	fprintf(stderr, "\n     %s floppy.img \"root=/dev/sda4\"\n", argv[0]);
-	fprintf(stderr, "\n     To set root filesystem on ramdisk\n");
-	fprintf(stderr, "\n     %s floppy.img \"root=/dev/ramdisk ramdisk_size=2048\"\n", argv[0]);
-	fprintf(stderr, "\n     To set root filesystem on NFS\n");
-	fprintf(stderr, "\n     %s floppy.img \"root=/dev/nfs ip=dhcp nfsroot=192.168.100.1:/tftboot/192.168.100.51/\"\n", argv[0]);
-	/* and when kernel will support floppy driver:
-         * KERNEL_ARGS="vga=normal noinitrd load_ramdisk=1 prompt_ramdisk=1 ramdisk_size=16384 root=/dev/fd0 disksize=1.44 flavor=compact"
-	 */
+	fprintf(stderr, "Usage: %s [OPTION] <file>\n", argv[0]);
+	fprintf(stderr, "Configure second level to load kernel and ramdisk\n");
+	fprintf(stderr, "   <file> can be a file or a device (/dev/fd0)\n");
+	fprintf(stderr, "   -h, --help     display this text\n");
+	fprintf(stderr, "   -k, --kernel   set kernel path\n");
+	fprintf(stderr, "   -r, --ramdisk  set ramdisk path\n");
+	fprintf(stderr, "   -a, --append   set kernel command line\n");
+	fprintf(stderr, "   -g, --getinfo  get second level information\n");
 	fprintf(stderr, "\nbuild: \n%s\n", SIGNATURE);
 }
 
-int set_cmdline(char* image, char* cmdline)
+static int set_cmdline(char* image, char *kernel, char* cmdline, char *ramdisk)
 {
 	int fd;
 	int ret;
 	int drive, second, size;
-	char *configuration;
-	off_t offset;
 
 	fd = open(image, O_RDWR);
 
@@ -51,39 +61,12 @@
 		return 2;
 	}
 
-	/* can work on an image or directly on second level file */
+	ret = emile_first_get_param(fd, &drive, &second, &size);
+        if (ret == EEMILE_UNKNOWN_FIRST)
+		return -1;
 
-        ret = emile_first_get_param(fd, &drive, &second, &size);
-	if (ret == EEMILE_UNKNOWN_FIRST)
-	{
-		/* should be a second level file */
+	ret = emile_second_set_param(fd, kernel, cmdline, ramdisk);
 
-		ret = lseek(fd, 0, SEEK_SET);
-		if (ret == -1)
-		{
-			perror("Cannot go to buffer offset");
-			close(fd);
-			return 3;
-		}
-	}
-	offset = lseek(fd, 0, SEEK_CUR);
-
-	configuration = emile_second_get_configuration(fd);
-	if (configuration == NULL)
-		return 4;
-
-	emile_second_set_property(configuration, "parameters", cmdline);
-
-	ret = lseek(fd, offset, SEEK_SET);
-	if (ret == -1)
-		return 5;
-
-	ret = emile_second_set_configuration(fd, configuration);
-	if (ret != 0)
-		return 6;
-
-	free(configuration);
-
 	close(fd);
 
 	return 0;
@@ -93,9 +76,9 @@
 {
 	int fd;
 	int ret;
+	char kernel[255];
 	char cmdline[255];
-	char *configuration;
-	int drive, second, size;
+	char ramdisk[255];
 
 	fd = open(image, O_RDONLY);
 	if (fd == -1)
@@ -104,35 +87,21 @@
 		return 2;
 	}
 
-	/* can work on an image or directly on second level file */
+	ret = emile_second_get_param(fd, kernel, cmdline, ramdisk);
 
-        ret = emile_first_get_param(fd, &drive, &second, &size);
-	if (ret == EEMILE_UNKNOWN_FIRST)
-	{
-		/* should be a second level file */
-
-		ret = lseek(fd, 0, SEEK_SET);
-		if (ret == -1)
-		{
-			perror("Cannot go to buffer offset");
-			close(fd);
-			return 3;
-		}
-	}
-
-	configuration = emile_second_get_configuration(fd);
-	if (configuration == NULL)
-		return 4;
-
-	ret = emile_second_get_property(configuration, "parameters", cmdline);
-
-	if (ret != 0)
+	if (kernel[0])
+		printf("kernel path:  \"%s\"\n", kernel);
+	else
+		fprintf(stderr, "No kernel path found\n");
+	if (cmdline[0])
+		printf("command line: \"%s\"\n", cmdline);
+	else
 		fprintf(stderr, "No command line found\n");
+	if (ramdisk[0])
+		printf("ramdisk path: \"%s\"\n", ramdisk);
 	else
-		printf("Current command line: \"%s\"\n", cmdline);
+		fprintf(stderr, "No ramdisk path found\n");
 
-	free(configuration);
-
 	close(fd);
 
 	return 0;
@@ -141,16 +110,60 @@
 int main(int argc, char** argv)
 {
 	int ret;
-	if (argc != 3)
+	char *kernel = NULL;
+	char *cmdline = NULL;
+	char *ramdisk = NULL;
+	char *file = NULL;
+	int action_getinfo = 0;
+	int option_index;
+	int c;
+
+	while(1)
 	{
+		c = getopt_long(argc, argv, "ha:k:r:g", long_options,
+				&option_index);
+		if (c == -1)
+			break;
+		switch(c)
+		{
+		case ARG_HELP:
+			usage(argc, argv);
+			return 0;
+		 case ARG_KERNEL:
+			kernel = optarg;
+			break;
+		case ARG_APPEND:
+			cmdline = optarg;
+			break;
+		case ARG_RAMDISK:
+			ramdisk = optarg;
+			break;
+		case ARG_GETINFO:
+			action_getinfo = 1;
+			break;
+		}
+	}
+	if (optind < argc)
+		file = argv[optind];
+
+	if (file == NULL)
+	{
+		fprintf(stderr,
+			"ERROR: you must provide an image file or a block device.\n");
 		usage(argc, argv);
 		return 1;
 	}
 
-	if (strcmp(argv[1], "-r") == 0)
-		ret = get_cmdline(argv[2]);
+	if ( action_getinfo && ( kernel || cmdline || ramdisk) )
+	{
+		fprintf(stderr, "Incompatible parameters\n");
+		return 1;
+	}
+
+	if (action_getinfo)
+		ret = get_cmdline(file);
 	else
-		ret = set_cmdline(argv[1], argv[2]);
+		ret = set_cmdline(file, kernel, cmdline, ramdisk);
 
 	return ret;
 }

Modified: branches/vendor/emile/tools/emile-set-output.c
===================================================================
--- branches/vendor/emile/tools/emile-set-output.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/tools/emile-set-output.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -187,6 +187,8 @@
 			return 3;
 		}
 	}
+	else
+		offset = lseek(fd, 0, SEEK_CUR);
 
 	configuration = emile_second_get_configuration(fd);
 	if (configuration == NULL)
@@ -248,7 +250,7 @@
 int main(int argc, char** argv)
 {
 	int ret;
-	char* image;
+	char* image = NULL;
 	int option_index;
 	int c;
 	unsigned int enable_mask = 0;

Modified: branches/vendor/emile/tools/emile.c
===================================================================
--- branches/vendor/emile/tools/emile.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/tools/emile.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -23,6 +23,7 @@
 static char *first_path = PREFIX "/boot/emile/first_scsi";
 static char *second_path = PREFIX "/boot/emile/second_scsi";
 static char *kernel_path = PREFIX "/boot/vmlinuz";
+static char *ramdisk_path = NULL;
 static char *map_path = NULL;
 static char *backup_path = NULL;
 static char *partition = NULL;
@@ -41,6 +42,7 @@
 	ACTION_KERNEL =		0x00000100,
 	ACTION_PARTITION = 	0x00000200,
 	ACTION_MAP =	 	0x00000400,
+	ACTION_RAMDISK = 	0x00000400,
 };
 
 enum {
@@ -58,6 +60,7 @@
 	ARG_PARTITION = 'p',
 	ARG_HELP = 'h',
 	ARG_MAP = 'm',
+	ARG_RAMDISK = 'r',
 };
 
 static struct option long_options[] =
@@ -66,6 +69,7 @@
 	{"first",	1, NULL,	ARG_FIRST		},
 	{"second",	1, NULL,	ARG_SECOND		},
 	{"kernel",	1, NULL,	ARG_KERNEL		},
+	{"ramdisk",	1, NULL,	ARG_RAMDISK		},
 	{"map",		1, NULL,	ARG_MAP			},
 	{"partition",	1, NULL,	ARG_PARTITION		},
 	{"help",	0, NULL,	ARG_HELP		},
@@ -90,6 +94,7 @@
 	fprintf(stderr,"  -f, --first PATH     set path of EMILE first level\n");
 	fprintf(stderr,"  -s, --second PATH    set path of EMILE second level\n");
 	fprintf(stderr,"  -k, --kernel PATH    set path of kernel\n");
+	fprintf(stderr,"  -r, --ramdisk PATH   set path of ramdisk\n");
 	fprintf(stderr,"  -m, --map PATH       set path to the EMILE kernel map file (generated)\n");
 	fprintf(stderr,"  -a, --append ARG     set kernel command line\n");
 	fprintf(stderr,"  -p, --partition DEV  define device where to install boot block\n");
@@ -108,13 +113,13 @@
 	int ret;
 	int disk;
 	char disk_name[16];
-	char *driver;
+	int driver;
 
 	ret = emile_scsi_get_rdev(dev_name, &driver, &disk, partition);
 	if (ret == -1)
-		return -1;
+		return -2;
 
-	sprintf(disk_name, "%s%c", driver, 'a' + disk);
+	emile_get_dev_name(disk_name, driver, disk, 0);
 
 	*map = emile_map_open(disk_name, flags);
 	if (*map == NULL)
@@ -130,8 +135,8 @@
 	int ret;
 
 	ret = open_map_of(dev_name, O_RDONLY, &map, &partition);
-	if (ret == -1)
-		return -1;
+	if (ret < 0)
+		return ret;
 
 	ret = emile_map_has_apple_driver(map);
 	emile_map_close(map);
@@ -147,8 +152,8 @@
 	char *part_type;
 
 	ret = open_map_of(dev_name, O_RDONLY, &map, &partition);
-	if (ret == -1)
-		return -1;
+	if (ret < 0)
+		return ret;
 
 	ret = emile_map_read(map, partition - 1);
 	if (ret == -1)
@@ -171,8 +176,8 @@
 	int bootblock_type;
 
 	ret = open_map_of(dev_name, O_RDONLY, &map, &partition);
-	if (ret == -1)
-		return -1;
+	if (ret < 0)
+		return ret;
 
 	ret = emile_map_read(map, partition - 1);
 	if (ret == -1)
@@ -198,8 +203,8 @@
 	int fd;
 
 	ret = open_map_of(dev_name, O_RDONLY, &map, &partition);
-	if (ret == -1)
-		return -1;
+	if (ret < 0)
+		return ret;
 
 	ret = emile_map_read(map, partition - 1);
 	if (ret == -1)
@@ -262,7 +267,7 @@
 	/* write bootblock */
 
 	ret = open_map_of(dev_name, O_RDWR, &map, &partition);
-	if (ret == -1)
+	if (ret < 0)
 		return -1;
 
 	ret = emile_map_read(map, partition - 1);
@@ -301,7 +306,7 @@
 	/* write bootblock to partition */
 
 	ret = open_map_of(dev_name, O_RDWR, &map, &partition);
-	if (ret == -1)
+	if (ret < 0)
 		return -1;
 
 	ret = emile_map_read(map, partition - 1);
@@ -324,7 +329,7 @@
 	int partition;
 
 	ret = open_map_of(dev_name, O_RDWR, &map, &partition);
-	if (ret == -1)
+	if (ret < 0)
 		return -1;
 
 	ret = emile_map_read(map, partition - 1);
@@ -386,6 +391,10 @@
 			action |= ACTION_KERNEL;
 			kernel_path = optarg;
 			break;
+		case ARG_RAMDISK:
+			action |= ACTION_RAMDISK;
+			ramdisk_path = optarg;
+			break;
 		case ARG_MAP:
 			action |= ACTION_MAP;
 			map_path = optarg;
@@ -446,7 +455,7 @@
 		emile_map_t* map;
 		char *part_type;
 		int i;
-		char *driver;
+		int driver;
 		int disk;
 		int partnb;
 
@@ -467,7 +476,7 @@
 		}
 		close(fd);
 
-		sprintf(dev_name, "%s%c", driver, disk + 'a');
+		emile_get_dev_name(dev_name, driver, disk, 0);
 
 		 /* ROM boots on the first HFS partition it finds */
 
@@ -502,7 +511,7 @@
 	if (partition == NULL)
 	{
 		int fd;
-		char *driver;
+		int driver;
 		int disk;
 		int partnb;
 
@@ -512,8 +521,7 @@
 		ret = emile_scsi_get_dev(fd, &driver, &disk, &partnb);
 		if (ret == 0)
 		{
-			sprintf(tmp_partition, 
-				"%s%c%d", driver, disk + 'a', partnb);
+			emile_get_dev_name(tmp_partition, driver, disk, partnb);
 			partition = tmp_partition;
 		}
 		close(fd);
@@ -552,7 +560,7 @@
 
 	if (append_string == NULL)
 	{
-		char *driver;
+		int driver;
 		int disk;
 		int partnb;
 
@@ -573,11 +581,15 @@
 		}
 		close(fd);
 
-		sprintf(tmp_append, "root=%s%c%d", driver, disk + 'a', partnb);
+		strcpy(tmp_append, "root=");
+		emile_get_dev_name(tmp_append + strlen(tmp_append), 
+				   driver, disk, partnb);
 		append_string = tmp_append;
 	}
 
 	ret = check_has_apple_driver(partition);
+	if (ret != -2)
+	{
 	if (ret == -1)
 	{
 		fprintf(stderr, "ERROR: cannot check if Apple_Driver exists\n");
@@ -606,7 +618,7 @@
 		if ((action & ACTION_TEST) == 0)
 			return 6;
 	}
-	if ( (ret == 0) && (action & ACTION_SET_HFS) )
+	if ( (ret == 0) && !(action & ACTION_SET_HFS) )
 	{
 		fprintf(stderr,
 	"ERROR: to be bootable a partition must be of type Apple_HFS\n");
@@ -624,6 +636,7 @@
 		if ((action & ACTION_TEST) == 0)
 			return 8;
 	}
+	}
 	if ( (ret == 0) && ((action & ACTION_BACKUP) == 0) )
 	{
 		fprintf(stderr,
@@ -654,7 +667,7 @@
 		printf("Bootblock backup successfully done.\n");
 	}
 
-	if (map_path == NULL)
+	if (!emile_is_url(kernel_path) && (map_path == NULL))
 	{
 		map_path = (char*)malloc(strlen(kernel_path) + 5);
 		if (map_path == NULL)
@@ -670,8 +683,11 @@
 	printf("first:       %s\n", first_path);
 	printf("second:      %s\n", second_path);
 	printf("kernel:      %s\n", kernel_path);
-	printf("map file:    %s\n", map_path);
 	printf("append:      %s\n", append_string);
+	if (map_path != NULL)
+		printf("map file:    %s\n", map_path);
+	if (ramdisk_path != NULL)
+		printf("ramdisk:     %s\n", ramdisk_path);
 
 	/* set kernel info into second level */
 
@@ -685,10 +701,10 @@
 
 	if ((action & ACTION_TEST) == 0)
 	{
-		char *configuration;
 		struct emile_container *container;
-		short unit_id;
+		unsigned short unit_id;
 		char map_info[64];
+		int drive, second, size;
 
 		container = emile_second_create_mapfile(&unit_id, map_path, kernel_path);
 		if (container == NULL)
@@ -699,34 +715,26 @@
 			return 17;
 		}
 
-		/* set second configuration */
-
-		lseek(fd, 0, SEEK_SET);
-		configuration = emile_second_get_configuration(fd);
-
 		/* set kernel info */
 
 		sprintf(map_info, "container:(sd%d)0x%x,0x%x", unit_id, 
-				   container->blocks[0].offset, container->blocks[0].count);
-		emile_second_set_property(configuration, "kernel", map_info);
+				   container->blocks[0].offset, 
+				   container->blocks[0].count);
 
-		/* set cmdline */
+		/* set second configuration */
 
-		emile_second_set_property(configuration, "parameters", append_string);
-		emile_second_set_property(configuration, "vga", "default");
-
-		/* save configuration */
-
-		lseek(fd, 0, SEEK_SET);
-		ret = emile_second_set_configuration(fd, configuration);
+		ret = emile_first_get_param(fd, &drive, &second, &size);
+		if (ret == EEMILE_UNKNOWN_FIRST)
+			lseek(fd, 0, SEEK_SET);
+		ret = emile_second_set_param(fd, map_info, 
+					     append_string, ramdisk_path);
 		if (ret != 0)
 		{
-			free(configuration);
 			fprintf(stderr,
-		"ERROR: cannot set configuration in %s\n", second_path);
-			return 19;
+		"ERROR: cannot set \"%s\" information in \"%s\".\n", 
+				kernel_path, map_path);
+			return 18;
 		}
-		free(configuration);
 	}
 
 	close(fd);

Modified: branches/vendor/emile/tools/emile_scanbus.c
===================================================================
--- branches/vendor/emile/tools/emile_scanbus.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/tools/emile_scanbus.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2004 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2004 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -14,6 +14,7 @@
 #include <stdlib.h>
 #include <getopt.h>
 
+#include "partition.h"
 #include "libemile.h"
 
 #define EMILE_MAX_DISK		16
@@ -77,7 +78,7 @@
 		sprintf(dev, "/dev/hd%c", 'a' + i);
 		fd = open(dev, O_RDONLY);
 		if (fd == -1)
-			break;
+			continue;
 		close(fd);
 		strncpy(devices[j++], dev, EMILE_MAX_DEVNAME);
 	}
@@ -85,140 +86,215 @@
 	return j;
 }
 
-void scanbus(void)
+void diskinfo(char* device)
 {
 	emile_map_t* map;
-	device_name_t devices[EMILE_MAX_DISK];
-	int count;
-	int i;
 	int j;
 	int boottype;
 	char bootblock[BOOTBLOCK_SIZE];
+	int block_size, block_count;
+	int ret;
 
-	count = emile_scanbus(devices);
-	if (count == 0)
+	printf("%s:", device);
+	map = emile_map_open(device, O_RDONLY);
+	if (map == NULL)
 	{
-		if (errno == EACCES)
-		{
-			fprintf(stderr, 
-	"ERROR: cannot access to devices (you should try as root...)\n");
-			return;
-		}
-		printf("No disk found\n");
+		fprintf(stderr, "Cannot read map of %s\n", device);
+		return;
 	}
-	for (i = 0; i < count; i++)
+
+	ret = emile_map_geometry(map, &block_size, &block_count);
+	if ((ret != -1) && verbose)
 	{
-		int block_size, block_count;
+		printf(" block size: %d, blocks number: %d (", 
+			block_size, block_count);
+		print_size(block_count, block_size);
+		printf(")\n");
+	}
+	else putchar('\n');
 
-		printf("%s:", devices[i]);
-		map = emile_map_open(devices[i], O_RDONLY);
-
-		emile_map_geometry(map, &block_size, &block_count);
-		if (verbose)
+	if (map == NULL)
+	{
+		printf("\t<No information available>\n");
+		return;
+	}
+	if (!emile_map_is_valid(map))
+	{
+		printf("\t<No valid partition map found>\n");
+		return;
+	}
+	if (emile_map_get_driver_number(map) > 0)
+		printf("  Drivers\n");
+	for (j = 0; j < emile_map_get_driver_number(map); j++)
+	{
+		int block, size, type, part;
+		emile_map_get_driver_info(map, j, 
+					  &block, &size, &type);
+		printf("     %d: base: %d size: %d ",
+		       j, block * block_size / 512, 
+		       size * block_size / 512);
+		printf("type: ");
+		switch(type)
 		{
-			printf(" block size: %d, blocks number: %d (", 
-				block_size, block_count);
-			print_size(block_count, 512);
-			printf(")\n");
+			case kDriverTypeMacSCSI:
+				printf("SCSI");
+				break;
+			case kDriverTypeMacATA:
+				printf("ATA");
+				break;
+			case kDriverTypeMacSCSIChained:
+				printf("SCSI chained");
+				break;
+			case kDriverTypeMacATAChained:
+				printf("ATA chained");
+				break;
+			default:
+				printf("unknown (%04x)\n", type);
+				break;
 		}
-		else putchar('\n');
-
-		if (map == NULL)
+		part = emile_map_seek_driver_partition(map, 
+					block * block_size / 512);
+		if (part == -1)
 		{
-			printf("\t<No information available>\n");
-			continue;
-		}
-		if (!emile_map_is_valid(map))
-		{
-			printf("\t<No valid partition map found>\n");
-			continue;
-		}
-		if (emile_map_get_driver_number(map) > 0)
-			printf("  Drivers\n");
-		for (j = 0; j < emile_map_get_driver_number(map); j++)
-		{
-			int block, size, type, part;
-			emile_map_get_driver_info(map, j, 
-						  &block, &size, &type);
-			printf("     %d: base: %d size: %d type: %d",
-			       j, block * block_size / 512, 
-			       size * block_size / 512 , type);
 			part = emile_map_seek_driver_partition(map, 
-					block * block_size / 512 );
+							       block);
 			if (part == -1)
 				printf(" <invalid>\n");
-			else
+			emile_map_read(map, part);
+		}
+		else
+		{
+			emile_map_read(map, part);
+			if (!emile_is_apple_driver(map))
 			{
+				part = emile_map_seek_driver_partition(map, 
+								       block);
+				if (part == -1)
+					printf(" <invalid>\n");
 				emile_map_read(map, part);
-				printf(" <%d: %s [%s]>\n", part + 1,
-					emile_map_get_partition_name(map),
-					emile_map_get_partition_type(map));
 			}
 		}
-		printf("  Partitions\n");
-		for (j = 0; j < emile_map_get_number(map); j++)
+		printf(" <%d: %s [%s], ", part + 1,
+			emile_map_get_partition_name(map),
+			emile_map_get_partition_type(map));
+		switch(emile_map_get_driver_signature(map))
 		{
-			emile_map_read(map, j);
-
-			if (emile_map_partition_is_startup(map))
-				printf(" --> ");
-			else
-				printf("     ");
-			printf("%s%-2d: ", devices[i], j + 1);
-			printf("%16s [%-16s] ", 
-				emile_map_get_partition_name(map),
-				emile_map_get_partition_type(map));
-			emile_map_bootblock_read(map, bootblock);
-			boottype = emile_map_bootblock_get_type(bootblock);
-			switch(boottype)
-			{
-			case INVALID_BOOTBLOCK:
+			case kPatchDriverSignature:
+				printf("patch driver");
 				break;
-			case APPLE_BOOTBLOCK:
-				printf(" <Apple bootblock>");
+			case kSCSIDriverSignature:
+				printf("SCSI HD driver");
 				break;
-			case EMILE_BOOTBLOCK:
-				printf(" <EMILE bootblock>");
+			case kATADriverSignature:
+				printf("ATAPI HD driver");
 				break;
+			case kSCSICDDriverSignature:
+				printf("SCSI CDROM driver");
+				break;
+			case kATAPIDriverSignature:
+				printf("ATAPI CDROM driver");
+				break;
+			case kDriveSetupHFSSignature:
+				printf("Drive Setup HFS partition");
+				break;
 			default:
-				printf(" <unknown bootblock>");
+				printf("Unknown (0x%08lx)", emile_map_get_driver_signature(map));
 				break;
-			}
-			if (emile_map_partition_is_bootable(map))
-				printf(" *\n");
-			else
-				putchar('\n');
-			if (verbose)
+		}
+		printf(">\n");
+	}
+	printf("  Partitions\n");
+	for (j = 0; j < emile_map_get_number(map); j++)
+	{
+		emile_map_read(map, j);
+
+		if (emile_map_partition_is_startup(map))
+			printf(" --> ");
+		else
+			printf("     ");
+		printf("%d: ", j + 1);
+		printf("%16s [%-16s] ", 
+			emile_map_get_partition_name(map),
+			emile_map_get_partition_type(map));
+		emile_map_bootblock_read(map, bootblock);
+		boottype = emile_map_bootblock_get_type(bootblock);
+		switch(boottype)
+		{
+		case INVALID_BOOTBLOCK:
+			break;
+		case APPLE_BOOTBLOCK:
+			printf(" <Apple bootblock>");
+			break;
+		case EMILE_BOOTBLOCK:
+			printf(" <EMILE bootblock>");
+			break;
+		default:
+			printf(" <unknown bootblock>");
+			break;
+		}
+		if (emile_map_partition_is_bootable(map))
+			printf(" *\n");
+		else
+			putchar('\n');
+		if (verbose)
+		{
+			int start, count;
+			int bootstart, bootsize, bootaddr, bootentry;
+			int checksum;
+			char processor[16];
+			if (*(unsigned long*)
+				(emile_map_get_partition_type(map) + 28))
+				printf("                 patch: %s\n", 
+					emile_map_get_partition_type(map) + 28);
+
+			ret = emile_map_get_partition_geometry(map,
+							       &start,
+							       &count);
+			if( ret != -1)
 			{
-				int start, count;
-				int bootstart, bootsize, bootaddr, bootentry;
-				int checksum;
-				char processor[16];
-
-				emile_map_get_partition_geometry(map,
-								&start, &count);
-				printf("                 base: %d, count: %d (", 
+				printf("                 base:"
+				       " %d, count: %d (", 
 					start, count);
 				print_size(count, 512);
 				printf(")\n");
 				printf("                 flags: 0x%08x\n", 
 					emile_map_partition_get_flags(map));
-				emile_map_get_bootinfo(map, &bootstart, 
-							&bootsize, &bootaddr, 
-							&bootentry, &checksum, 
-							processor);
+					emile_map_get_bootinfo(map, &bootstart, 
+					&bootsize, &bootaddr, 
+					&bootentry, &checksum, 
+					processor);
 				printf("                 "
-				       "Bootstart: %d, Bootsize: %d\n",
-				       bootstart, bootsize);
+			       		"Bootstart: %d, Bootsize: %d\n",
+			       		bootstart, bootsize);
 				printf("                 "
-				       "Bootaddr: %d, Bootentry: %d\n", 
-				       bootaddr, bootentry);
+			       		"Bootaddr: %d, Bootentry: %d\n", 
+			       		bootaddr, bootentry);
 				printf("                 "
-				       "Checksum: 0x%04x, Processor: %s\n", 
+			       		"Checksum: 0x%04x, Processor: %s\n", 
 					checksum, processor);
-
 			}
 		}
-		emile_map_close(map);
 	}
+	emile_map_close(map);
 }
+
+void scanbus(void)
+{
+	device_name_t devices[EMILE_MAX_DISK];
+	int count;
+	int i;
+
+	count = emile_scanbus(devices);
+	if (count == 0)
+	{
+		if (errno == EACCES)
+		{
+			fprintf(stderr, 
+	"ERROR: cannot access to devices (you should try as root...)\n");
+			return;
+		}
+		printf("No disk found\n");
+	}
+	for (i = 0; i < count; i++)
+		diskinfo(devices[i]);
+}

Modified: branches/vendor/emile/tools/iso9660_cat.c
===================================================================
--- branches/vendor/emile/tools/iso9660_cat.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/tools/iso9660_cat.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -25,8 +25,26 @@
 	iso9660_VOLUME *volume;
 	char buffer[512];
 	size_t size;
+	int get_info = 0;
+	int arg = 1;
+	char *devname;
 
-	device.data = device_open();
+	if ((argc > arg) && (strcmp(argv[arg], "-i") == 0)) {
+		arg++;
+		get_info = 1;
+	}
+
+	if (argc > arg)
+		devname = argv[arg++];
+	else
+		devname = "/dev/cdrom";
+
+	if (argc > arg)
+		path = argv[arg++];
+	else
+		path = "/";
+
+	device.data = device_open(devname);
 	device.read_sector = (stream_read_sector_t)device_read_sector;
 	device.close = (stream_close_t)device_close;
 
@@ -34,11 +52,6 @@
 	if (volume == NULL)
 		return 1;
 
-	if (argc > 1)
-		path = argv[1];
-	else
-		path = "/";
-
 	file = iso9660_open(volume, path);
 	if (file == NULL)
 	{
@@ -46,8 +59,12 @@
 		return -1;
 	}
 
-	while((size = iso9660_read(file, buffer, 512)) > 0)
-		write(STDOUT_FILENO, buffer, size);
+	if (get_info) {
+		printf("%d %d\n", file->base * 4, file->size);
+	} else {
+		while((size = iso9660_read(file, buffer, 512)) > 0)
+			write(STDOUT_FILENO, buffer, size);
+	}
 	iso9660_close(file);
 
 	iso9660_umount(volume);

Modified: branches/vendor/emile/tools/iso9660_ls.c
===================================================================
--- branches/vendor/emile/tools/iso9660_ls.c	2007-04-11 20:20:42 UTC (rev 185)
+++ branches/vendor/emile/tools/iso9660_ls.c	2007-04-11 20:23:39 UTC (rev 186)
@@ -1,6 +1,6 @@
 /*
  *
- * (c) 2005 Laurent Vivier <LaurentVivier at wanadoo.fr>
+ * (c) 2005 Laurent Vivier <Laurent at lvivier.info>
  *
  */
 
@@ -44,8 +44,12 @@
 	char *path;
 	device_io_t device;
 	iso9660_VOLUME *volume;
+	int arg = 1;
 
-	device.data = device_open();
+	if (argc > 1)
+		device.data = device_open(argv[arg++]);
+	else
+		device.data = device_open("/dev/cdrom");
 	device.read_sector = (stream_read_sector_t)device_read_sector;
 	device.close = (stream_close_t)device_close;
 
@@ -53,8 +57,8 @@
 	if (volume == NULL)
 		return -1;
 
-	if (argc > 1)
-		path = argv[1];
+	if (argc > arg)
+		path = argv[arg];
 	else
 		path = "/";
 




More information about the Debootloaders-devel mailing list