A year after the initial release comes MOS 1.00 (~December 1982).
Changes from MOS 0.92 to MOS 1.00:
- ● Added OSBYTE 22 - Cancel tape operation
- ● Added OSBYTE 116 - Reset the ACIA
- ● Added OSBYTE 117 - Read VDU status
- ● Removed OSBYTE 158 - Trigger Event, replaced by OSBYTE 158 - Read byte from speech processor (which was OSBYTE 160 previously).
- ● Removed OSBYTE 203 - Specify Caps And Shift Lock Bits (which served no useful purpose), replaced by OSBYTE 203 - RS-423 handshake extent
- ● OSCLI (e.g. *KEY) supports entering control codes with |<letter>
- ● The EVENT vector defaults to doing nothing now, previously it generated a 'Bad event' error.
- ● Added support for a 'User' Event type (type 9)
- ● By default, if a !BOOT error from disc happens with no language set, then lock up the machine.
- ● PLOT when in a non-graphics MODE now calls the plot extension vector.
- ● ADC conversions default to 12 bit, rather than the previous 8 bit default.
- ● Buffers: The number of bytes free needed to trigger code to deal with a full buffer changed from 24 down to 9.
- ● Current language ROM is remembered across a soft RESET
- ● Removed .unknownInterruptDisableFlag that ignored an unknown interrupt during a RESET
- ● RESET code has been updated
- ● INTERRUPT code has been updated
- ● BUG: Fixed bug when trying to read the colour of an offscreen pixel (executed illegal instructions).
- ● BUG: fixes around character redefinitions, added the concept of a current OSHWM when the character set is exploded. Character imploding now works properly.
- ● BUG: Fixes for RS423 read and write code
- ● BUG: Reset JIM properly on RESET
- ● BUG: Fixes for cancelling tape operation and ensuring cancel happens when trying to load a 'Locked' file, or when *CAT finishes
- ● BUG: Only set a file as 'open' for writing if recording prompt succeeds
- ● Set cassette up for writing while RECORD prompt is shown (records carrier tone at this point?)
- ● 'Rewind tape' message has a extra carriage return afterwards, and waits for the current block to finish.
- ● Tube code is now at $0400, not $0500 which allows it to use more of the available language RAM.
- ● The Extended Vector Space now starts at $0D9F, instead of $0D8F, more efficiently using the memory to the end of the page.
- ● BUG: Moved a couple of zero page variable locations (.tapeSendingFlags and .tapeCriticalCounter) to avoid collisions with .osfileBlockAddressHigh
- ● Changed several OS variable locations to avoid collisions and to contiguously reset more variables.
- ● Optimised for space.
This version would be superseded just a few months later by MOS 1.20 (~March 1983).