Xeuphoric Changelog

New in version 0.19.0

August 31st, 2010
  • Build: "make install" now honours the DESTDIR variable to make life easier for packagers.
  • Cassette: the messages to stderr during CLOAD now include the current working directory. Also, all unsafe or visually ambiguous characters are percent-encoded.
  • Diskette: better error checking on diskette images. Jasmin emulation still doesn't seem to work, though.
  • Doc: added a state diagram of the interface, a description of the file selector and some semblance of documentation for the configuration variables.
  • Doc: the "Differences with Euphoric 0.99b" section in the man page is out of date and updating it would make it even longer so off it goes.
  • Emulation: new option -R to override the ROM file from the command line.
  • Internals: rewrote remove_eol() to deal with empty strings.
  • Internals: write_only[], which should have been called read_only[], has been renamed fd_writable[] and the logic has been reversed. Truth also is defined the customary way, i.e. != 0, not == 1.
  • Keyboard: when the pointer leaves the window (FocusOut and LeaveNotify events), all keys are considered released. No more Oric [down] key stuck after switching to another window with [alt]-[tab].
  • Keyboard: the Oric [esc] key is now mapped to the host key [esc], in addition of the host key whose keycode is 49 ([`] on UK and US QWERTY keyboards, superscript 2 on Belgian and French AZERTY keyboards).
  • Keyboard: the Oric [del] key is now mapped to the host key [del], in addition of the host key [bs] (backspace).
  • Keyboard: added support for the different keycodes that come with evdev. If [altgr]/right [alt], right [ctrl] and the arrow keys do nothing on your system, this release is for you.
  • Setup screen:
  • New and improved file selector. See the man page for details.
  • Pathnames now shortened by using "." and "~" when appropriate and then abbreviated to fit the screen. Any non-ASCII and control characters are percent-encoded.
  • New "CWD" parameter to change directories from within Xeuphoric. The name passed to CLOAD and CSAVE is relative to the current working directory.
  • Diskette emulation: labels shortened to make room for pathnames. The write-protect status of a virtual diskette is now indicated by an "RO" or "RW" label on the right. Only allow diskette image selection if diskette emulation is enabled.
  • Sound: handle OSS ioctl() errors more gracefully (essentially, warn and proceed).
  • Sound: got rid of the loud noise spikes during silent periods by configuring /dev/dsp for 8-bit signed PCM (instead of unsigned) and halving the output amplitude. The underruns are still heard when sound is playing or one or more outputs of the 8912 are held high (tone generator disabled for channel but non-zero channel volume).
  • Sound: fixed a bug in the 8912 emulation which caused noise to turn on and off every minute or so. (2**32 / 1E6 / 16 / 4 = 67 s ?)
  • Video: default zoom factor is now 2.
  • Video: new xeuphoricrc variable ColourScheme which can be set from xeuphoricrc or interactively from the setup screen. See the man page for details.
  • Video: new compile-time option CELL8X8 (see the makefile) to render 8 pixels per byte instead of 6. Messes up the hires screen.
  • Video: fixed fatal BadAlloc errors in XShm_Attach when running on a remote display by substituting explicit XSync(3) calls for XSynchronize(3). I'm not sure what XSynchronize() really does, but it's not as simple as the man page suggests.
  • xeuphoricrc: removed the ability to change UI messages from inside xeuphoricrc. ^[0-9][0-9]= lines in xeuphoricrc are now ignored.
  • xeuphoricrc: line endings in default xeuphoricrc converted from DOS (CR LF) to Unix (LF).
  • xeuphoricrc: improved the parsing code. Trailing tabs are now ignored. Read errors and lines too long to fit in the buffer are now caught and cause Xeuphoric to exit with a non-zero status.
  • Misc: many (but not all) pathname buffers enlarged from 256 or less to PATH_MAX.
  • Misc: more unfinished, broken xeuphoric-ng code.