Excerpt of SMSQ version history
Please note that QPC-only changes are often just documented
in QPC's version history.
Since v2.99 you can see something like (MK) after every
entry. Those are the initials of the developer(s) responsible
for the change. They translate as follows (in order
3.13 One-line SELect no longer crashes on multiple expressions (MK).
Function()(x) no longer gives wrong char if x = last char index (MK).
If necessary, INPUT returns buffer overlow for compiled programs (MK).
Fixed swapped CTRL+SHIFT+Y and CTRL+SHIFT+Z on German keyboard (MK).
Fixed return value for sliced strings (MK).
Enable QPC numlock. Provide entry to set numlock for QPC (MK).
Shadow drawing bug (introduced in 3.10) fixed for Aurora (MK).
New system variable sys_xdly (delay after executing a job in 1/50s) (MK).
All inbuilt job executions respect sys_xdly (MK).
QPC initialises sys_xdly with 5 (MK).
New CTRL+C behaviour introduced, uses least-recently-used job order (MK).
New CTRL+C behaviour made configurable in QPC (MK).
Background I/O made configurable in QPC (MK).
Correct length set in home dir if simple device (wl).
New keywords YEAR%, MONTH%, DAY% and WEEKDAY% (MK).
QA.OP/QA.MOP load/store fixed for op-codes below $80 (MK).
Working QXL keyboard LEDs (BC).
3.12 HOME thing bugfixed and integrated: it is a new module (MK + wl).
Boot filename is set as current SBasic filename and Home filename (MK).
Sbasic sets home dir upon (q)load (wl).
File name from QD is set as home file name when using SBAS/QD (MK).
Improved Qx0 cache handling (TG).
Improved History device: Keeps track of number of message, disallows empty
History device returns number of messages as file length & file pointer is
limited to nbr of message (MK).
Basic has a new command line history (up/down arrows) (MK).
When display size decreased, Basic windows will be reset to within screen (MK).
Restore screen when unmanaged window is altered/closed (MK).
Screen background drawing even if window is partly buried (default OFF) (MK).
New commands PE_BGON and PE_BGOFF to enable/disable background drawing (MK).
New commands PEEK_F, PEEKS_F, POKE_F, POKES_F (MK).
Tries to release a Drive Definition Block if drive table is full (MK).
JOBID added (PW).
3.11 Bugfixes in platforms other than QPC (thanks to MK).
Call to HOME thing via EXxx commands added (wl).
3.10 Bugfixes: lower right corner of high colour shadows fixed (MK).
Wrong errror return of wm.jbpal fixed (MK).
Double 3D border type fixed (MK).
Wrong error sprite return fixed (wl).
Sprite clipping at upper and lower screen border implemented (MK).
Implemented sprites with no (= solid) mask (MK).
New copy sprite WMAN vector added (MK).
3.09 HOT_GETSTUFF$ added (MK).
Qx0 code is ROMmable again (wl).
The Qx0 cachecontrol module is removed again as this will also stop
the code from working in ROM (wl).
No directory drive nbr > 8 allowed (wl).
QXL version bugfixes and restart possibility (BC).
QPC new basic commands (QPC_WINDOWSIZE, PAR_GETFILTER, PAR_SETFILTER) (MK)
Outline move spurious outline problem fixed (wl)
3.08 QPC new basic commands (PAR_DEFAULTPRINTER$, SER_GETPORT$, SER_SETPORT) (MK)
3.07 New keyword EX_M use like EX, but the job created is owned by the calling
Q40 flp density is REALLY preset to High (1.44 MB disks). If you want to
format other density disks, set the density to D or E. (WL)
QXL version allows you to determine which PC drive is win1_ etc.
QPC SMSQ/E sampled sound system (SSSS) support (MK)
QPC small fix in FORMAT of removeable WIN drives (MK)
3.06 The "Quit" keyword takes an optional parameter (long int) that is
passed to the calling job (eg return_code=FEW(your_program)) (PW)
Q40 flp density is preset to High (1.44 MB disks). If you want to
format other density disks, set the density to D or E. (WL)
Sprites (of 6x10 size) may be used as cursor (WL)
3.05 Corrected QL mode 8 sprite cache handling (JG)
Rptr distinguishes better between loose items & appsub menu items (WL)
SPP open clears CD inactive count (MK)
Fixed 3d border bug (MK)
3.04 Fixed pointer save on new move operation (WL)
3.03 WM_BLOCK prodecure fixed (GG + MK)
Some bugfixes for SER PAR PRT ports (MK)
PRT_USE$ used wrong offset - fixed (WL)
Cursor move if one-line wdw fixed (delete still a problem) and added
configurable key to enter line into stuffer buffer (WL)
PARNAM$ and PARSTR$ fixed (WL)
EXTRAS lists all keywords, not only those it thinks are not in ROM (MK)
New Cachemode module for the Qx0 (FD, based on code donated by Mark Swift)
Extended colour border call with 0 border bug fixed (MK)
(Super) Goldcard initilisation problem fixed (MK)
Left & right shift keys are handled separately (MK)
Mode screen aspect ratio is variable (MK)
3.02 Extended revamp for mode 16 (Gold Card/ Aurora). (MK)
Bugfix for rchp : Doesn't break free space list if block was already
3.01 More system sprites (MK)
New window move routines & Config block (WL + MK)
Fixed bug for stippled borders in WMAN (WL)
More con vectors (WL)
Bugfix for object drawing & wman rptr routines (WL + MK)
Fixed wallpaper on display change, broken in 2d99 (MK)
3.00 Fixed bug in screen driver that could crash the machine in low memory
Added many sprite modes (mode 64, mode 32/33 etc.) (MK & JG)
Added support for large sprites (MK)
New high colour WMAN with lots of new features (MK & WL)
New sprite formats with alpha blending & RLE compression (MK)
Better handling of hard disks for Q40 (JG)
Better handling of system sprites, many more system sprites introduced (MK)
WMAN colour palettes introduced & config block for them (MK)
New keywords Fex etc... (PW + MK)
Default keyboard may be different from default message languages (WL)
Sprites may be drawn differently depending on item status (WL + MK)
New con/ptr vectors concept introduced (MK)
Better handling of background colours (MK)
Basic procs OK even if a LARGE number of parameters are passed to them (MK)
Bugfixes for some EE traps, keep A1 as per documentation (WL)
Qx0 caches on at startup (FD)
8 bit Aurora GD2 screen driver, also introduced in QPC (MK)
Screen aspect ratio for graphics functions now a CON variable (MK)
Hotkey system configurable again like standalone version (MK)
2.99 RND no longer returns invalid floating point for RND=0
A3 addressing problems in pointer open routine fixed.
d Fixed free/total sector info of STAT and DIR for large drives (MK)
Re-implemented sms.frtp the way it was supposed to be (MK)
Changed FREE_MEM SBASIC function to use sms.frtp (MK)
Background colour now drawn on-the-fly instead of consuming memory (MK)
Updated WMAN to V1.54. This implements the first phase of the
high colour enhancements (MK)
Changed RAM disc for fast memory use (MK)
e QPC implemented "fast" memory (MK)
f EXTRAS command changed to show all SBASIC commands no matter where
their code is located (MK)
x,y,z better handling of shadows in high colour mode (MK)
"Fast memory" also on Qx0 (MK)
Italian language support (FD)
No more MOVEP for Qx0 (FD)
2.98 Q40 channel name for ser H/I corrected.
Push unnormalised FP corrected.
Revised init - soft RESET / hard keyboard RESET for all versions.
2.97 IBM keyboard / keypad / keyrow / tables updated.
Atari diskette format density selection corrected (bug since 2.93).
Gold Card Test version
2.96 First Atari ST/TT GD2 version
Length of negative integer to string conversion fixed again
Consolidated Q40 V2.95 test versions a to e.
Atari select drive 1/2 for stopping drive corrected (error since 2.93).
Single sided formatting restored.
Atari disk change density detection timout increased.
Keypad ENTER creates DO event on all extended keyboards.
2.95 Length of negative integer to string conversion fixed!!!
GD2 - Spurious D0 return from pan/scroll by zero fixed.
GD2 - Pan with stippled paper fixed for extended colours.
Another job / pointer event fix fix.
SSSS free queue length corrected.
a Q40 translation for instructions > 16 MB corrected / removed
b Q40 DISP_SIZE checks > 512x256 not >= 512x256 for large screen
Q40 More rigourous initialisation (does not assume reset)
c Q40 DISP_SIZE size check not lost on QL => 16 bit change
Q40 sms.dmod sets d2 = 0
Q40 ROM reset vector restored
Q40 transparent translation set for ROM
>4Gb drive truncation corrected
When reformatting a partition that has changed size and the new
format has fewer allocation sectors and the new number of
allocation sectors is odd, the free space linked list is now
e Q40/60 FPU/MMU detection corrected.
Q40 COM interrupts not masked on Q40 motherboard!
Q40 LPT interrupts masked in MultiIOchip and interrupt scanner
Q40 Machine/Processor transferred to system variables.
Q40 serial mouse re-enabled after mouse buffer full.
Q40/QXL Insert key coded as Shift Space (was CTRL F6).
GD2 modified to set $18063!
2.94 First extended colour version
Hit not thrown away by certain button event routines (QPAC2).
- bug introduced in V2.93 when trying to fix Job events.
FP FOR loop rounding corrected for end point >= 256 x step.
IDE drives format fixes for spurious bad sectors.
IDE drive limited to < 4 Gbyte (> 4G requires new format).
Writethrough cache disable code reordered.
Q40 MMU set up for QLiberator.
IDE and PC floppy disk timeouts measured during init.
Select on expression compiler bug fixed.
2.93 Q40 border width truncated to byte
Q40 stipples 1 and 3 reversed
V2.92 Q40 changes for floppy disk driver carried into other versions.
DV3 length check on direct sector read / write
Events not thrown away by calls to WM.RPTR within WM.RTPR (eg WM.CHWIN)
PIPE open channel ID xxxx0004 not confused with directory (I hope).
2.92 First Q40 version
Revised pointer scheduler routine.
2.91 Assign to slice of string array repaired (damaged in 2.89).
Selective suppression of active keystrokes.
Euro symbol added to fount.
2.90 In-line selects can have an explicit end select.
In-line defines can have an explicit end define (V2.89).
Thing use does not smash D3 before TH_USE call (V2.89).
Dragging the dursor with wake speed 0 does not lock up.
Atari wait for HDD ready abandoned (test cmd crashes some disks)
2.89 Ptr V1.72 Job events handled even if pointer is invisible
Offscreen event (actually edge of screen) only gives out of window
if the job is interested in offscreen events.
Thing use can be called from supervisor mode.
Scheduler routines called with exception vector as for job 0.
High priority intensive calculation tasks no longer hog the machine.
Atari USA keyboard table.
Language dependent selection works even when there are no preferences
defined for the languages.
PIPE name and channel tied up on close.
Dragging the dursor with wake speed 0 does not lock up.
File error on SAVE without filename correctly handled.
In-line defines accepted.
ED improvemnts for line numbers >32757.
2.88 D7 passed through to WM.RPTR action routines.
Out of window flags cleared when sprite is changed.
PAN in mode 8 truncated to even values.
French keyboard driver (with "normal" number keys) for SuperHermes (UK).
Aurora monitor detect corrected.
2.87 Atari load can load into QVME memory.
Extended SCSI commands used for disks >1 Gbyte.
Dummy fileinfo accepts any non-zero key for execution and .bas .sav.
QDOS executables stored on MSDOS format disks with (invisible) .EXn
MSDOS files with the last char of the name '_' accessible.
Overwrite MSDOS file with zero length file fixed.
Opening SBASIC default channel 0 does not destroy messages.
Gold card format with no disk returns error more quickly.
2.86 INT vector corrected for small negative numbers.
2.85 UT.WTEXT modified (should be more compatible with QDOS version under
More changes to GOLD card init - should now recognise Aurora.
Back to top of page