Updates to the platforms code and VMMaker are needed to make SoundPlugin
work on 64-bit platforms. This is a coordinated change affecting all platforms.
I'm not sure of folks' schedules right now, so Ian, John, Andreas - are you
available to do the updates over say the next two weeks or so?
The following steps are required:
Dave:
- Update SoundPlugin in VMMaker with patches from Mantis 7103.
Ian:
- Update platforms/Cross and platforms/unix. The diffs on Mantis 7103
are slightly out of date, so I am attaching a fresh copy of the affected
files (M7103-platforms.tgz).
These are:
platforms/Cross/plugins/SoundPlugin/SoundPlugin.h
platforms/unix/plugins/SoundPlugin/sqUnixSound.c
platforms/unix/vm/SqSound.h
platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c
platforms/unix/vm-sound-NAS/sqUnixSoundNAS.c
platforms/unix/vm-sound-Sun/sqUnixSoundSun.c
platforms/unix/vm-sound-MacOSX/sqUnixSoundMacOSX.c
platforms/unix/vm-sound-null/sqUnixSoundNull.c
platforms/unix/vm-sound-OSS/sqUnixSoundOSS.c
Andreas:
- Update platforms/win32/plugins/SoundPlugin/sqWin32Sound.c to match
the new declarations in SoundPlugin.h. I believe this will involve only
changing various int declarations to the appropriate sqInt or (void *)
declarations, then testing to make sure sound still works. However, I
have not tried a windows build to verify this.
John:
- Update the files in platforms/Mac OS/plugins/SoundPlugin/ with declarations
to match SoundPlugin.h in Cross. I'm not sure what needs to be done here,
although I think that current OS X support is based on the unix SoundPlugin,
so you may be able to use the update in platforms/unix.
- I'm not sure of the implications (if any) for your new VM work or for iPhone.
Dave
--- background ---
For reference this was the suggested "to-do" list that I posted a while back.
These updates will complete step #2 on the list. Note, with John's recent
64-bit work and new VM development, we will no doubt have a few new
items to add to the list :)
1) Closure support (COMPLETE)
- Priority: High, should be done as soon as possible
- All major VM distributions should support images with closure bytecodes.
2) Changes to support Etoys and teaching for kids.
- Priority: High, supports large educational programs.
- Mantis 7266: SerialPlugin doesn't handle arbitrary nodes names (COMPLETE)
- Mantis 7103: Playing sounds in linux 64 bits causes a vm segmentation fault
(subject of this note - NEXT UP on the list)
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".