Updates to the platforms code and VMMaker are needed to provide named serial port access. This is a coordinated change affecting all platforms. Following are the steps required:
Dave: - Update SerialPlugin in VMMaker with new prims and 64-bit clean declarations (done - this is in VMaker-dtl.136 on SqueakSource).
Ian: - Apply patch to platforms/Cross/plugins/SerialPlugin/SerialPlugin.h to declare new functions and change signatures to avoid casting pointer to int. Patch is attached (M7266-SerialPlugin.h.diff). Note, the patches on Mantis are out of date now, use this one instead. - Apply patch to platforms/unix/plugins/SerialPlugin/sqUnixSerial.c to get rid of some unnecessary type casts. I believe that you have already applied the main part of Severin's changes, so this should complete the unix updates. Patch attached (M7266-sqUnixSerial.c.diff).
Andreas: - Update platforms\win32\plugins\SerialPlugin\sqWin32SerialPort.c to match the modified signatures in SerialPort.h. This prevents passing pointer parameters as ints, required for running on 64 bit platforms. - Add stub functions for four new functions (serialPortCloseByName, serialPortOpenByName, serialPortReadIntoByName, serialPortWriteFromByName) to support the the new primitives. These can just fail the primitive. Function prototypes are in SerialPlugin.h.
John: - Update platforms/Mac OS/plugins/SerialPlugin/sqMacSerialPort.c, same as for Windows (see above). - I don't know how OS X handles serial devices, but you may be able consider using the Unix code at this point.
Thanks all!
Dave
--- background ---
For reference is was the suggested "to-do" list that I posted a while back. We are working on step 2 now.
1) Closure support. - Priority: High, should be done as soon as possible - All major VM distributions should support images with closure bytecodes. - Current status: COMPLETE
2) Changes to support Etoys and teaching for kids. - Priority: High, supports large educational programs. - Mantis 7266: SerialPlugin doesn't handle arbitrary nodes names - Mantis 7103: Playing sounds in linux 64 bits causes a vm segmentation fault - Current status: These require changes to VMMaker and platforms sources, all platforms effected. Changes are straightforward but must be done in a coordinated manner for all platforms.
3) Some simple updates for 23/64 bit platforms. - Priority: Low - Mantis 7236: Make AsynchFilePlugin work on 32/64 bit images and 32/64 bit unix VMs - Mantis 6828: make FileCopyPlugin work on 32/64 bit images and 32/64 bit unix VMs - Current status: These are minor updates, low priority but easy to do. Patches are available but must be coordinated for all platforms.
4) 64-bit FFI (Interpreter updates as well as FFI) - Priority: Medium - Mantis 7237: Make FFI work on 64 bit platforms - Current status: Patches are available, but additional work and testing may be required on some platforms. I consider this update important because it effects the interpreter as well as FFI itself, e.g. these changes are a prerequisite to closing out the issues in Mantis 6987: "signed32BitValueOf:, signed64BitValueOf: etc. broken".