Commit 3da129d2 authored by Neil Turton's avatar Neil Turton
Browse files

Import from cleaned 360 CD

parent 53da419a

Too many changes to show.

To preserve performance only 99 of 99+ files are displayed.
hdr/** gitlab-language=armasm linguist-language=armasm linguist-detectable=true
s/** gitlab-language=armasm linguist-language=armasm linguist-detectable=true
**/s/** gitlab-language=armasm linguist-language=armasm linguist-detectable=true
*,ffb gitlab-language=bbcbasic linguist-language=bbcbasic linguist-detectable=true
> Text.Changes List for Proto-Arfur.
Versions up to .078 are ancient history, man.
Version .078
============
Bugfix of environment string setting
Version .079
============
Converted to new error header
Top bit R0 error indicator support removed
Flags added to ReadLine : bit 31 R0 set => don't reflect chars not going
into the buffer
bit 30 set => any reflection done with char in R4
Heap robustification : checks that hpds, etc are in existing LogRam
New heap call : ExtendHeap, takes hpd in R1, size to change by in R3. Gives
two errors : BadExtend for wally changes (i.e. end moves outside existing
RAM), and ExcessiveShrink for end moved below area in use. The heap end has
been moved as far as possible in the second case. R3 returned as amount
actually changed by.
Default Sys$DateFormat set up to give string identical to Master TIME$.
Version .08
===========
Heap changes bugfixed
*con. monitortype added
Default screen on 512K Weed is 80K
If no keyboard (on ANY reset), it autoboots irrespective of other state.
Version .081
============
Overlong environment strings / errors don't overwrite your breaklist.
Service_Memory issued when AplWork size being changed : error given if
service is claimed. Service therefore means "are you using the AplWork?"
R2 contains the address of the currently active object, so winge if this
address is within your code.
Sources changed : conditional flags for native VDU, tube connected removed ;
it didn't stand a chance of working anyway if you changed either flag.
New Tim stuff : key up/down events, Con. monitortype does things.
SWI to set handlers with workspace added : handlers yet to change.
New fileswitch : buffering buggette fixed
Version .082
============
Configured sizes are now "PageSize" (8 or 32K) units.
Vset returns from module Init bugfixed.
VSets in RMTidy better
Bug in WriteI fixed (if an error occurred, it poked the stacked R14 with the
error pointer, rather than the stacked R0!)
Utility open file with winge has had open bits added (nodir,mustopen)
Major bash of handlers, also 3 escapes aborting removed.
SWI OS_ChangeEnvironment added : calls the envchange vector, default owner of
which sets the handlers. Give handler number in R0 (see hdr.envnumbers),
address in R1, workspace pointer in R2 (if used), buffer pointer in R3 (if
used). All old handler setting SWIs call this internally.
Version .083
============
Rationalised version number (cor).
Escape handler calling bugfix
Version .084
============
ValidateAddress acts sensibly for zero-length ranges.
New TimStuff
Kludge for now : workspace for error handler passed in in R0.
Help Commands lists *Modules and *Configure.
Assembly flag ; can assemble versions that convert exceptions into errors
with negative numbers
ValidateAddress allows the part of PhysRam that's in the screen.
Bugfixes of callback, breakpoint handler setting
*GO doesn't screw with your error handler, and supervisor doesn't reset the
world every time it panics.
New FileSwitch
Default PrinterType$4 variable
*Error and *Eval
Aliasing bugfix : *fred. doesn't match Alias$Fred
*Create bug fixed : *create jim now works
All files closed on all resets
Changes to CMOS reset : station ID unmolested (use magic Set transient!), and
Sync state is TOGGLED rather than set. Do R-power on twice if necessary!
Version .085
============
INKEY -256 bugfix
Version .09
===========
Version number rationalised!
Configure language added.
Configured language used, which meant changes to module entering :
this sets up the envstring from anything after the filename on RMRun,
or from the string pointed at by R2 on Enter.
New Timstuff, new fileswitch
Attempts to restore registers 10-12, lr on exceptions.
.09/a
=====
Bugfix of cmd tail on *Go.
Monotonically increasing time added, + SWI to read it.
*GOS starts up the Supervisor application, which lives in the utility module
.09/b
=====
Oscli Bugfix : *Volume127 not OK.
SWI Module doesn't enable interrupts for claim, release and describe ops
New Timstuff : should beep!
.09/c
=====
Bugfix of errors from exceptions
Ballsup in ReadLine removed!
Sam hack of Beep code to make it beep at least a bit.
*Unplug etc. added.
.09/d
=====
Beep on hard reset moved.
Sound CMOS set on CMOS reset : speaker 1, volume 7, channel 1.
Reducing RMA / sysheap updates hpd proply.
RMTidy tries to shrink RMA if tidy successful
.09/e : Hard reset beep moved a bit more.
.09/f : Silly screensizes converted to as close to 20K as poss
Optional 325 speed for a1 roms.
.09/g : Reset initialises timer0 so can use CMOS RAM read write.
.09/h : IOC Control set to FF on reset, new Tim code to do spastic things
with Break key.
.09/i : Nibble mode ROM speed removed from A1 version!
Better Tim code, new fileswitch
.09/j : RMReInit reports errors when inserting unplugged modules.
.09/k : Allowed to con. screensize 0-127, max screen actually set up 480K
Bug in Create fixed. Dump now allows tbs -> printable masking
Entry Envstring for RMRun fixed.
Entry to Supervisor always by RMEntering utilitymod.
ValidateAddress allow super stack
Net EX/CAT CMOS reset better
Status/configure when listing all goes into paged mode
.09/l : Soft break possible : FileSwitch tried and found Guilty of corrupting
system heap.
New Tim stuff, + weird country stuff in init.
.09/m : Basic SWI code doesn't change FIQ bit.
Can set dump area for default exception handlers.
*Help says "Help on keyword flurgle" instead of just flurgle.
Oscli terminators table adjusted.
.09/n : Minor help text changes
Fixed module command tails
New Tim doobries : no chars from Rodent buttons!
*Dump given offset=filesize winges "Outside File"
.09/o : New fileswitch ; *Copy.
*Shadow implemented
" :" changed to ":"
Paged mode in *Show
New TimStuff
.09/x : Timstuff
.09/y : Show pagemode bugfix
Country CMOS reset to 1
New fileswitch
.1 : Too much optimism and new Tim stuff
.11 : Keyboard code in reset fixed.
<65junk> will expand variable 65junk
Syntax/help messages tidied up
*Time, *Ignore added
New Tim stuff
Conversion SWIs added
Vectored SWIs (notably osbyte) can only affect C and V
.12 : Exception errors put PC on error msg.
*Shadow (no param) works, *ignore 3please faulted
.13 : Conversions point R1 at 0
.20 : New fileswitch
Language 3 set on CMOS wotsit
.21 : PrinterType$4 not set by MOS.
ChangeDynamicArea does nothing if attempt to extend a heap too far.
Also always leaves one page in AplWork
Enters configured doodad if error on autoboot.
Redundant bits removed.
.22 : Wierd terminator chars removed from ReadUnsniged, bit 29 flag added:
restrict range to 0..r2 (inclusive). Used in SWI naming stuff (won't
say "OK" to "Econet_&FFFFFFFF" etc.
Unknown SWI error gives SWI number.
.23 : CMOS reset TV is 0,1
Configured RMASize is amount free in RMA after mos initialisation.
Fixed tbs restrict in PrintCharInGSFormat
Errors propagated back in utilities from file closure.
Exception register dump area only reset on break.
.30 : V set return from Help_Is_Keyword code not ignored
Nude flieswitch
R12 to Help_Is_Keyword code correct
Bugfix of OS_ConvertNetStation : no explosion for bad net
New glue together
.31 : XOS_Heap(DescribeHeap) subs 4 off right value.
Setting Restrict Range to R2 flag in ReadUnsigned meant only base 10 OK
Default R12 for event/escape handlers = -1
XOS_Heap(ExtendBlock) by 0 works, valid block checking better.
First version multiple incarnations, podule support.
*Modules gives numbers
DFlynn/AThomas memory page/size evaluation used. MOS now pagesize
independant.
Can assemble a multiple keyboard version
*net: bye etc fixed.
SWI dispatch immeasurably improved
Module LookupName added
Bugfix of *Status <module keyword>
Module prefixes on oscli added: can specify command only comes from
(a particular incarnation of) a particular module
Bugfix of 239: wrch errors not being dealt with
New fileswitch; oscli also reads any secondary FS command table
Interrupts enabled in SWI name <-> number conversions
SWI PrettyPrint & SubstituteArgs
.32 New fileswitch
.33 New Tim stuff: SWIs Plot & WriteN.
Slight changes to allow service calls to be issued before modules are
initialised. Note may get modechange service before Service_Reset.
.34 Configured lang was out by 1.
SysHeap is shrunk to minimum, then configured extra size added (after
main initialisation). Should give about 16K extra on 305/310
Service_UKConfig conforms to (latest PRM) spec.
SubstituteArgs terminator corrected.
.35 Nude TimBits: optimised plots, etc.
ValidateAddress looks up screensize in VDU workspace
ChangeDynamic funkyfied
.36 ADev versions hurl abuse at 3 micron ARMs.
OS_Claim frees any links with same values first.
OS_AddToVector has old Claim semantics
INKEY-256 returns &A1
RMReInit clears CMOS of unpluggies before initialisation.
*ROMModules added as a replacement for *ROMS
EnumerateROM_Modules reason code for OS_Module
Bugfix of init strings on rmreinit.
Order of files changed: in * prompt, utilitymod should always be CAO
ChangeDynamic involving screen removes the cursors
SpriteSize is a 6-bit field in Status/Configure
Write0 shortened!
.37 VecSwi call shortened.
Stu did something to FileSwitch - R6 not wally for some entries.
.38 Obscuro bug in heap block extension - made RM manager free workspace
while checking block validity!
If ExtendBlock frees the whole block, it updates the returned block
pointer to -1 (i.e. really naff ptr).
RMClear doesn't kill podule modules.
New TMD stuff (some RS423 bugs fixed, faster this and that).
.39 New big version (new DeskTop, Wimp,...)
New block copy/move code
SpriteV added
Escape purging of sound now uses duration 1 (at request of DFlynn)
1.00 New RS423, FileSwitch, ADFS ...
CMOS reset sets 1987
V not cleared for CallAVector
Configure mode allows up to 23
PrettyPrint reads window width
1.01 Status/Configure deals better with Wrch errors.
Modules " (Tutu number output fixed).
Guess what; ReadUnsniged fixed AGAIN !!! ...
FileSwitch Opt 1,n bug fixed + {on} in Count
SWI WriteEnv invented for JGT use in debungler
New TimBits: fix embarrasment with lines, palette
1.10 Apparently this is a more aesthetically appealing version number.
Nuder TimBit: service_prereset lives!
1.11 OSGBPB 5,6,7 r6 bug fixed
MOS 2 micronised. Default callback shrank!
1.12 Dump code shortened + gives better error response for IsDir etc
Another (nastier) FileSwitch Opt 1,n bug fixed
Module handler returns proper w'space contents for LookUpName
Installing keyboard handler might work now says Tim
More FileSwitch changes. And yet more. Dump fixed.
1.20 another release, another number
1.21 Oscli whinges about *net#arf:thing etc.
*Modules counter doesn't wrap at 256 (and neither does *ROMModules)
Module init failure: doesn't free incarnation node twice, and
doesn't poo in the system heap.
RdArgs SWI added, NoSuchSWI error made non-dynamic
timbits/fileswitch
1.22 Added code to issue service call on RMA claim fail, as requested for
ADFS. Not actually assembled in though!
Module death can now be recursive
Header fields checked for validity: word-aligned where appropriate,
and within code length
CAO during startup=32M: allow overwriting of MOSROM modules.
Module SWI lookup much faster: enter into hash table on init
Added SWI OS_ReadRAMFsLimits
Looks for keypad * pressed on reset; drops into supervisor.
T,Delete and Copy power-on added.
List, Type use RdArgs (File/A,TabExpand/S), and expand tabs into
8 spaces.
Buggette in Module handler: recursive death may lead to operating
on a module with 0 incarnations.
SWI despatcher goes into caller's IRQ state; individual SWIs yet to be
inspected.
Supervisor doesn't reference ESCCNT or ESCFLG any more.
Vecnum=Swinum SWIs enable IRQs, except for Byte & Word which disable
them.
Module SWI enables IRQs explicitly except for heap ops.
1.23 SWI Mouse disables IRQs
Bugfix of Oscli: copes with buffer overflow in alias expansion
parm substitution.
1.24 Simon Smith and his Amazing Dancing IRQ Despatcher! New SWIs to claim
and release "devices" (i.e. bits in IOC interrupt registers A and B,
with the podule device the only one capable of having multiple owners).
EnumerateROMModules call (and so Rommodules) fixed.
Workspace reordered so can call handlers by LDMIA R12, {R12, PC}
*RMFaster added.
Link passed to module SWIs has correct IRQ state.
Interruptible (and also bug-fixed) heap manager incorporated.
New Tim stuff
1.25 Default IRQ2V clears the appropriate mask bit, returns.
SWI ModHand: ExtendBlock will return V set if appropriate.
Register dumping changed; may save right registers for FIQ/IRQ.
ValidateAddress fixed for screen memory.
New Timstuff; ECF origin settable.
1.26 MOS help messages tidied up.
Redirection errors better.
Alias terminators same as module command terminators.
Scratchspace sorting out: "bad number of parameters" error
constructed in an Oscli buffer.
Stack full error in Oscli has a sensible number; HelpBuffer
allocated on the stack.
Redirection handles made byte-sized.
MOS buffers rationalised; there's now an enormous amount of sharing.
SWI not known error contains SWI number if it wasnt done under
interrupt.
Backspace in readline = delete
1.27 Modules can refuse to initialise again.
Background FIQ handling done; Service_ClaimFIQ and Service_ReleaseFIQ
now come round immediately after Service_Reset, to set up the
default handler.
Stuart's HeapSort SWI added
SWI ExitAndDie added
SWIs to delink and relink application vectors added
Configure keyword MouseStep added; can also do nK on size fields.
ChangeDyn file improved; if cam map corrupted, necessary registers
pulled.
SWIs to allow user CAM-bashing; soft reset makes the application
space contiguous again.
ChangeEnvironment has a new reason code to allow setting of the
application space size.
Reset code masks CMOS; if top bit of CMOS gets set, used to be in
a state where lots of memory was allocated, but *status said little
was being requested.
SWI number->name conversion uses hashtab.
FE0-FFF initialisation removed.
1.28 TV configure syntax nitpicked.
New FileSwitch
1.29 Monotonically increasing time move to &10C; now a public location.
*key fixed; (re)uses EnvString
as does *show
1.30 *show prettified
FIQ downgrade highest priority interrupt.
MOS FIQ claim/release handling altered; now should cope with
background claims and/or releases occuring during a foreground
claim.
New extensions to callback; can now ask to be put on a vector.
Hacked source.pmf.key so it calls the callback vector (but NOT
the callback handler) in readc/inkey, if its bored.
ChangeDynamicArea falls at the first fence if an IRQ is threaded.
SWI despatch in RAM; 10% faster StoreHD.
Bugfix of SWI node release on module death; bugfix of error percolation
in new incarnations.
1.31 Supervisor printing of time taken ditched; bottom 32K, sysheap, cursor
user-write-protected.
Processor-speed dependant waits in NewReset now use Tim's magic
delay routine.
New TimStuff.
1.32 Bugfix of heap block extension.
Dynamic SWI not known built in better buffer.
Vector stasher always terminates the buffer (unless totally spastic
buffer size).
Improvement of heap block extension; will extend into preceding block
if poss. Also fix of code spotting interrupted heap ops (from 1.30).
PrettyPrint bugfix: hard space after tab.
Writeability of CAO (for WIMP) via changeenv.
Checks for keypad 0,1,2 on "power-on" resets, and sets monitor type
accordingly.
ReadBlockSize reason code added to heapman.
New fileswitch.
ROM speed slugged.
Bugfix of SetMemMapEntries, soft reset copes with many pages mapped
to the same address.
Defined R0-R3 corruptible for IRQ processes.
1.33 Cam bashing revisited; PPL kept in soft copy too.
ChangeDynamicArea also understands that the sysheap should be kept
protected too.
Dynamic "SWI not known" error fixed.
Doesn't go address exception if no kbd.
1.34 Another instruction removed from SWI despatch.
Times CPU and susses in spec ROM speed at reset
Old style handler setters don't poo on r12 value.
New fileswitch & timstuff: VDU output to sprites.
RAMfs space protected.
ReadDefaultHandler SWI added; pass number from hdr.env*, returns
R1=address, R2=workspace, R3=buffer. 0 means not relevant.
CAM soft copy size doubled; 8Mbyte may work.
1.35 New fileswitch.
1.36 MOS Default FIQ ownership fixed.
New Timstuff: window width obscurities, border stuff.
1.37 CAM bashing revisited for 8M; next bit up now included. Ta Jamie!
Bugfix of SubstituteArgs.
New Timstuff.
Service offered after ChangeDynamic has moved stuff.
When copying (if screen is being extended), ChangeDynamic copies
from a PhysRam address. The last page of application workspace is
copied into, so this MUST NOT be doubly mapped in MEMC.
Bugfix of RMtidy: checks CAO in RMA again.
1.38 SWI despatch understands that modules may have zero incarnations.
Ballsup of ReadDefault corrected.
1.39 ChangeDynamic overhauled: changing screensize cooperates better with
VDU drivers.
Setting of variables uses a stack buffer; scratchspace use across
sysheap extension a nono.
R0 in Service_Memory corrected. Always issues post-service, even if
error/nothing to move.
Monitortype bits expanded in status/configure.
r1 uncorrupted in OS_Exit for HMeekings.
1.40 Help matches against module titles as a postscan, giving keywords
recognised in the module.
Bottom 32K protection removed.
1.41 Soft break forces noprot on application space.
ChangeDynamicArea rejects out of range area numbers (instead of
crashing).
SWI Module does better when block extension has to try and extend the
RMA.
Exported HLINE takes colour information.
ROM unplug bits extended by using original Master frugal bits.
1.42 Setting of numeric variables fixed.
1.43 Default CMOS: NewADFSCMOS+2=1, DumpFormat=4.
Much molested prettyprint.
1.44 DrawV added.
1.45 New fileswitch.
PrettyPrint allows you to specify the MOS dictionary by setting r1=0.
Saved a word in CallVector (2 micron needed); stopped error gen if
vector number > NVectors
(defined r0-r3,r12 trashable on IRQ vectors)
1.46 Made IRQ vector claim force release of any previous entries.
SubstituteArgs: tbs r0 on entry => don't tack any unused part of the
line on the end.
New HeapSort which can shuffle data/build array pointers for you
Much munged help text.
BGet cache put into kernel so we save about 4us per call (saves
branches, temp register pushes). New FileSwitch
1.47 ROMModules fixed.
Added default handler for EconetV for Bruce
Minor speedups/space savers from Stu.
Fixed module name match: adfs. no longer matches adfs
1.48 Removed fast entry for Args/GBPB/File/FSControl as it was dangerous
new fileswitch that matches the above, so default vechandlers changed
*Quit migrated.
BPut cache migrated into kernel; removed VecFSSwi code
1.49 Fixed syntax message expansion.
1.50 ChangeDynamic has 3 = Sprite area
1.60 Richard III is dead
New serial stuff, apart from XON/XOFF
InstallKeyHandler with R0=1 => read keyboard id
1.61 Default osbyte vec has r12=OsbyteVars
Error returns for bad RMA heap claim/extend improved.
RMA block extension needing RMA extension fixed.
Doesn't corrupt end of physram on reset.
System heap not protected just because there are idiots instead of
programmers out there.
RMEnsure. SystemSpeed CMOS removed.
Noo really dangerous FoolSwatch
1.70 New title for release
1.71 Heap Extend wallyism removed.
System heap protection really removed.
Changed help for load/save/create etc. to keep DBell happy
New FileSwitch
CRC stored in pair of bytes at end of each ROM image
HeapSort now does B SLVK rather than LDR pc, =BranchToSwiExit
Exception handlers disable FIQ asap, shorter
Interrupt handling fix: DiscChanged on Archie became winnie IRQ!
Memory speed/MEMC1a flag (tbs) saved in RAM at &110.
CMOS resetting modo-fied a la Tim Caspell - R/T-power-on don't reset
harddiscs or country, or time; DEL/COPY zap harddiscs/country, but also
leave the time alone.
****** N. B. ********* harddiscs not being reset may lead to long waits the
first time a named disc is used: on current ADFSs, it will be an
infinite wait.
Added help on Break, Reset and PowerOn.
Module handler fudged a bit for modules with 0 incarnations; tidier
after somebody explodes in Initialisation/Finalisation.
"Module postfix given" now reads "'%' in module title".
Even newer FileSwitch
SYS OS_ReadSysInfo: give it 0 in R0, it returns what screensize is
set by CTRL-BREAK.
*type/list with only one param assume it's a filename.
Made memory speed a halfword; MEMC1A flag now bit 16.
Byte at &107 is an inconsistency semaphore; if non-zero at reset,
hard reset is forced. ALWAYS lower and raise with IRQ disabled.
New monitor type 2, compatible with UNIX monitor (mode 23 only).
Minisculely faster floodfill.
SWI OS_Confirm.
New multi-threadable FileSwitch (actually saved code and store !)
SKS fixed SWI OS_Confirm - it never cleared Z or C ! It also used wrong
exit criteria; &1B does not necessarily mean an escape condition exists
it also corrupted r3.
SKS fixed SWI OS_ReadSysInfo; it actually preserved r0!
1.72 New FileSwitch + loads of modules for yet another release
SWI ClipBox
Fixed FileSwitch howler
1.73 Help terminates on escape.
Autoboots if unrecognised keyboard too.
New FileSwitch
CAM remapping don't fiddle with the interrupt state; caller must think
this through themselves.
Default CMOS sez ArthurLib
Added periods to end of configuration help where they were missing
Moved more supervisor stuff into Super1
ReadLineV default owner gets called with suitable r12
Attempt to fix *-reset by delay loop
Calling of CallEvery events fixed; CallAfter/CallEvery SWIs don't
corrupt r1.
Made keyboard + printer buffers bigger, cut down Sound0,1,2,3,Speech
Reduced *-reset delay loop; moved Inter+IntKeyModules higher in list
Added ConvertFileSize+Fixed, CRC swi
IRQs off when entering callback handler.
1.75 Made a500 version for release
Fixed Copy use of WimpFreeMemory <-- NB. A500 versions are wrong
and set SlotSize 0. Sorry chaps.
1.76 should have been set AS SOON AS THE CODE WAS CHANGED (Stuart).
Extended RESET helptext. MouseStep all one word.
Mutter mutter. Explicitly reeenable irq before waiting for metrognome
change. Fixed power-on monitor type reconfigures
1.77 Status doesn't say 0K for screen.
Moved OPT code to kernel so *opt1 etc. valid. Shortened PrintR0Decimal
1.78 Made a500/a1 versions for release
Fixed conversion swi number to name to recognises new swis
New FileSwitch
After looking at the MOS irq device handlers, we'd better define r11
to be trashable on IRQ device handlers as well as r0-r3,r12! Also IRQ1
Default IRQ shorter - people on IRQ2V must preserve all except r12!
Defining r3 -> IOC for all IRQ handlers would be a very good move
Compressed SysComms, added MakeErrors in most of MOS + FileSwitch
FileSwitch now has path: stuff
Fixed default callback handler
Make redirection work with INKEY as well as RDCH
1.79 Bugfix ReadArgs; non-abbreviated keywords with aliases now work.
Made RMEnsure scan for digit after getting to 16th col in module
help string anyway; means we can rmensure the current clib.
*Error GSTranses the error string.
Callbacks will be processed before calling the error handler.
Put in new SLVK exits to save space
Nude fileswitch
Fixed SWI OS_GenerateEvent so can call from non-SVC mode.
Should we define r9 trashable on module SWI calls ???
Move V test into RAM SWI area
Default event vector call with appropriate r12
Faster BPut; we have deviant wp in top vector node
Made error handler shorter
New entry to PMFWrch, gets OsbyteVars up its' entry point
Removed error on setting callback handler if callback outstanding;
came in earlier in 1.79.
Improved 'RM not found' and RMEnsure errors.
SWI OS_ServiceCall instead of BL Issue_Service in reset.
1.80 Made image for release
1.81 Faster SWI OS_CRC by TMD
Padded OS_Confirm pointer shape, put the active point on the right.
Added an upcall handler.
Font cache at 30M; ValidateAddress modified.
Reason code 4 in ChangeDynamic = font cache
SWI OS_ReadDynamicArea.
Regard keyboards with ids 1-31 as the same.
Got a dozen spare vectors
1.82 *Time copes with oswrod errors
CallAVector internally preserves caller's interrupt state.
1.83 Fix to ChangeDynamic of font area.
Fixed PIRQ/PFIQ despatch for case when LSB of B CONT ~= 0
Also made the above faster/shorter
1.84 Fixed ChangeDynamic for sprite area; used to indirect into deep space
Also allow APL/BottomWS to shrink to 32K
Fixed ReadArgs to allow y and z in keywords.
Fixed code in heap block extension to satisfy comment.
Changed default Sys$DateFormat to "%24:%mi:%se %dy-%m3-%ce%yr"
Changed *Time to use OSWord 14,0
ExtendHeap was total garbage!
Make MODE 23 Unix compatible
1.85 ReadDynamicArea returns start of screen address
ChangeDynamic safe in conjunction with background heap ops
New FileSwitch
Moved Quit in command table to alphabetic place
Put a B in TimeCPU to make result more accurate
1.86 OS_ReleaseDeviceVector disables IRQs.
OS_AddCallBack disables IRQs earlier.
OS_Confirm mouse shape has no colour 2
Flushing the printer buffer makes it dormant if not a stream
CheckModeValid works properly with a user monitor type
A500 keyboard changed
Mouse buffer not flushed when new bounding box set, instead coords are
clipped against the current bounding box when read out of the buffer.
MODEs 21 (multisync) and 24 added
Set DomainId to 0 at reset
Made process_callback_chain disable IRQs round updating head^ so we
didn't lose callback vector requests when processing the chain; saved
2 instructions in AddCallback
Maximum configurable mode is the max mode the MOS implements
ChangeDynamic can do RAMFS if no files in it.
Heap Extension call rounds size to words correctly (always towards
zero).
Handlers zapped to defaults if app starts and exit handler belongs
to supervisor.
VGA modes (25..28) added
ChangedBox fixed for VDU 5 8x8 and 8x16 text
1.87 Hi-Res-Mono palette changed so PP field returned is &10 or &11 or &12
Also changed to return full black or full white for the RGB fields, not
red.
Bugfix in *Help; Escape while printing a module summary gave a random
error message.
Swapped silly name for another silly name.
1.88 Heap manager size call fix.
1.89 TimeCpu code was wrong (misordered merge of 2 8-bits) and had wrong
cutoff point for MEMC1a
1.90 New week number code - now conforms to BS4760 (supposedly)
New FileSwitch with file buffering fixed
2.00 (15 Sep 88)
Econet background FIQ problem fixed
NetStatus and Hourglass error handling improved
Kernel locks out background FIQ claims while the release service call
is in progress.
2.00 (03 Oct 88)
New FileSwitch - default run action for text files is now *Type
New NetFiler - version in previous MOS was out-of-date
2.00 (04 Oct 88)
New ADFS (Winnie podule problem fixed)
New TaskManager (doesn't claim null events when window not open)
Note: Change all occurrences of GoVec(2)
May also note that default vector owners can trash r10, r11 IFF
they claim the vector...
2.01 (02 Mar 89)
New version of ChangeDynamicArea which reenables interrupts.
Heap manager optimised in a few places.
Fixed bug in extend heap call (stack imbalance when returning