
In-shell firmware update and a new MMBasic command FWUPDATE
  Added bootloader code to allow self-updating MMBasic
-	The bootloader is invoked by execution of MMBasic command "FWUPDATE"
  5 seconds after its execution the CPU will restart and will enter in bootloader mode
  The firmware update is performed through the USB port via standard HID interface
- The needed PC software "HIDBootLoader.exe" is also included


Handling of 8-bit extended ASCII symbols
  Allows support of full 8-bit ASCII character set
-	A string which starts with an extended ASCII code must be enclosed in double quotes - ""µmite""
- a built-in full 224-character 10x20 font #97 is also supplied. It is also the new default font when LCD panel is
  used as console.


Additions to include support for Winstar LCD panels with built-in SSD1963 controller
  Support for panels WF57Q, WF70Q, WF80Q, and WF102Q. This option works also with other 800x480 panels where 24-bit
  colour depth support is required.
- added new display type SSD1963_7W as valid parameter for OPTION LCDPANEL


Additions in the SDCARD functionality
  Support for up to 4 SD cards.
-	new command DRIVE 
  syntax: DRIVE drive$
    where drive$ can be "A" (currently reserved for future internal drive), "B", "C", "D", "E"
  default startup drive is B
-	new read-only varialble MM.DRIVE
  syntax: returns the current drive index: 0 for drive A, 1 for drive B, etc.  
-	The command OPTION SDCARD has an extended format:
	Option SDCARDx CS-pin [, CD-pin [,WP pin]]
    where "x" can be 1, 2, 3, 4
	In order to maintain backward compatibility, "OPTION SDCARD" is equivalent to "OPTION SDCARD1"


Additional SDCARD functionality for multiplexed control:
  Support up to 4 external SD cards via a bi-directional 2:4 multiplexer such as 4052. Example of such configuration
  can be seen in the schematics of the ELLO 2M and ELLO 2M2 systems.
-	further extended syntax for the OPTION command
	OPTION SDCARDx [MUXn, drv0-pin, drv1-pin,] CS-pin [, CD-pin [,WP pin]]
    where
    "x" is a SD card number (1..4)
    "n" is the multiplexer output number (0..3)
    "drv0" and "drv1" are the two pins to drive the multiplexer
- The way a multiplexer is supported is universal and can be applied in a number of different configurations
  A single example of the mentioned ELLO 2M system uses the following configuration for its multiplexer:
  OPTION SDCARD1 MUX0, 51, 46, 12, 33
  OPTION SDCARD2 MUX1, 51, 46, 12, 33
  OPTION SDCARD3 MUX2, 51, 46, 12, 33
  OPTION SDCARD4 MUX3, 51, 46, 12, 33
-	The configuration for use of multiplexer are optional and depend on the presence of MUX in the OPTION parameters


(Micromite MZ only) Automatic detection of input frequency 12MHz or 24MHz
  This functionality allows proper timings and operation in different hardware configurations. Some boards use 12MHz
  oscillator, while others use 24MHz one. The bootloader will automatically detect the input frequency, and will adjust
  the needed hardware registers so MMBasic can operate properly further on.
  This test is performed by the bootloader only at its own first run. After that the selected frequency remains locked
  and can only be changed if the bootloader itself is updated by programming the chip with an external programmer.


(Micromite MZ only) Full support of the CPU command with updated parameters for clock frequency
  CPU SLEEP [seconds] and CPU RESTART commands operational in the same way as in the MX470 version
  CPU takes the following list of clock frequencies for PIC32MZEF: 60, 99, 120, 156, 198, 204, 228, 252, 258 MHz
  Note: PIC32MZEF comes in 200MHz and 252MHz variants. It is completely user's responsibility if a damage to the chip
        has occured due to the selection of a frequency which the chip has not been rated to perform at. The options
        204 and 258 allow slight overclocking of the 200MHz and 252MHz variants respectively. They have been tested and
        found stable for inclusion in the list of supported frequencies, however they can be used at own risk only.


(Micromite MZ only) Internal flash drive A: for data and program storage. The contents of drive A: are preserved during
firmware upgrades through the bootloader. Drive A: can store only a small number of files in a flat model - only root, 
no subdirectories, and has about 840K capacity.


(Micromite MZ only) New command "ImageA" to create or load full images ofr drive A:
Create an image:  ImageA CREATE "filename" to create a full image of drive A and store it in a file.
Load an image:    ImageA LOAD "filename" to load previously created image. All current data in A is overwriten


New function "SIM$ str1$, str2$" to return the level of similarity between two strings as number between 0 and 1.
(Micromite MZ only) New command "INIT drive$" to format specified drive (except A:)
(Micromite MZ only) New command "HELP" reading from data file MMZHELP.TXT located in A:
Number of other small updates and improvements throughout the code.



(Micromite MX270D) Pinout for 44-pin:
1 : 5V | DIGITAL | COUNT | I2C DATA
2 : 5V | DIGITAL | PWM 2B
3 : 5V | DIGITAL | INT4
4 : 5V | DIGITAL
5 : 5V | DIGITAL
6 : GND
7 : CAP
8 : USB D+
9 : USB D-
10: Vusb
11: DIGITAL | ANALOG | COM2-RX
12: 5V | DIGITAL | COM2-TX
13: 5V | DIGITAL
14: DIGITAL | ANALOG | SPI CLOCK
15: DIGITAL | ANALOG | PWM 2A
16: GND (AVss)
17: 3.3V (AVdd)
18: RESET
19: DIGITAL | ANALOG
20: DIGITAL | ANALOG | SPI OUT (MOSI)
21: DIGITAL | ANALOG | PWM 1A
22: DIGITAL | ANALOG | PWM 1B
23: DIGITAL | ANALOG | COM4-RX (shared with the console)
24: DIGITAL | ANALOG | COM4-TX (shared with the console)
25: DIGITAL | ANALOG
26: DIGITAL | ANALOG | PWM 1C
27: DIGITAL | ANALOG | COM1-TX
28: 3.3V
29: GND
30: OSC1 8MHz
31: OSC2 8MHz
32: 5V | DIGITAL | COM1-RX
33: CONSOLE Tx (DATA OUT)
34: CONSOLE Rx (DATA IN)
35: 5V | DIGITAL | INT3
36: DIGITAL | ANALOG | INT2
37: 5V | DIGITAL | INT1
38: 5V | DIGITAL | COM1: ENABLE
39: GND
40: 3.3V
41: 5V | DIGITAL | SPI IN (MISO)
42: 5V | Vbus
43: 5V | DIGITAL | COUNT | WAKEUP | IR
44: 5V | DIGITAL | COUNT | I2C CLOCK


(Micromite MZ) Pinout for 64-pin:
1	:	Analog / Digital / SSD1963-D5
2 :	Analog / Digital / SSD1963-D6
3 :	Analog / Digital / SSD1963-D7
4 :	Analog / Digital / SPI2-CLK
5 :	Analog / Digital / SPI2-OUT
6 :	Console-RX / COM4-RX
7 : GND
8 : 3.3V
9 : MCLR / 5V
10:	Analog / Digital / PWM-2A
11:	Analog / Digital / COM2-TX
12:	Analog / Digital
13:	Analog / Digital / COM2-RX
14:	Analog / Digital / COM1-EN
15:	Analog / Digital / COM1-TX
16:	Analog / Digital / COM3-TX
17:	Analog / Digital / COM3-RX
18:	Analog / Digital
19:	3.3V (AVdd)
20:	GND (AVss)
21:	Analog / Digital
22:	Analog / Digital / PWM-2B
23:	Analog / Digital / INT3 / COUNT
24:	Analog / Digital / SSD1963-WR
25: GND
26: 3.3V
27:	Analog / Digital / SSD1963-RS
28:	Analog / Digital / SSD1963-RESET
29:	Analog / Digital / PWM-1B
30:	Analog / Digital / PWM-1C
31: Oscillator 12MHz or 24MHz
32:	Digital
33: USB Vbus
34: 3.3V
35: GND
36: USB D-
37: USB D+
38:	USBID
39: 3.3V
40: GND
41:	Digital / 5V / KBD-CLK
42:	Digital / 5V / KBD-DAT
43:	Digital / 5V / I2C-SDA
44:	Digital / 5V / I2C-SCK
45:	Digital / 5V / SPI1-OUT
46:	Digital / 5V / INT1 / COUNT
47:	Digital / SPI2-IN
48:	Digital / PWM-1A
49:	Digital / 5V / SPI1-CLK
50:	Digital / 5V / SPI1-IN
51:	Digital / 5V / INT4 / COUNT
52:	Digital / 5V / INT2 / COUNT
53:	Digital / 5V
54: 3.3V
55: GND
56:	5V / Console-TX / COM4-TX
57:	Digital / 5V / COM1-RX
58:	Digital / 5V / SSD1963-D0
59: GND
60: 3.3V
61:	Digital / 5V / SSD1963-D1
62:	Digital / 5V / SSD1963-D2
63:	Digital / 5V / SSD1963-D3
64:	Digital / 5V / SSD1963-D4


(Micromite MZ) Pinout for 100-pin:
1 : Analog / Digital
2 : Analog / Digital
3 : Analog / Digital / SSD1963-D5     
4 : Analog / Digital / SSD1963-D6
5 : Analog / Digital / SSD1963-D7
6 : Analog / Digital
7 : Analog / Digital
8 : Analog / Digital
9 : Analog / Digital
10: Analog / Digital / SPI2-CLK
11: Analog / Digital / SPI2-OUT
12: Analog / Digital
13: GND
14: 3.3V
15: MCLR
16: Analog / Digital / PWM-2A
17: Analog / Digital
18: Analog / Digital / SSD1963-RS
19: Analog / Digital / SSD1963-WR
20: Analog / Digital / COM2-TX
21: Analog / Digital
22: Analog / Digital / COM2-RX
23: Analog / Digital / COM1-EN
24: Analog / Digital / COM1-TX
25: Analog / Digital / COM3-TX
26: Analog / Digital / COM3-RX
27: Analog / Digital
28: Analog / Digital 
29: Analog / Digital 
30: 3.3V (AVdd)
31: GND (AVss)
32: Analog / Digital 
33: Analog / Digital / PWM-2B
34: Analog / Digital / INT3
35: Analog / Digital
36: GND
37: 3.3V
38: Analog / Digital 
39: Analog / Digital
40: Analog / Digital
41: Analog / Digital
42: Analog / Digital / SSD1963-RESET
43: Analog / Digital / PWM-1B
44: Analog / Digital / PWM-1C
45: GND
46: 3.3V
47: Analog / Digital
48: Analog / Digital
49: Oscillator 12MHz or 24MHz          
50: Digital       
51: USB Vbus
52: 3.3V
53: GND
54: USB D-
55: USB D+
56: USBID
57: Digital
58: Digital
59: Digital
60: Digital    
61: Digital     
62: 3.3V
63: GND
64: Digital / 5V / KBD-CLK
65: Digital / 5V / KBD-DAT
66: Digital / 5V / I2C-SCK
67: Digital / 5V / I2C-SDA
68: Digital      
69: Digital
70: Digital / 5V / SPI1-OUT
71: Digital / 5V / INT1
72: Digital / SPI2-IN
73: Digital / PWM-1A
74: 3.3V
75: GND
76: Digital / 5V / SPI1-CLK
77: Digital / 5V / SPI1-IN
78: Digital / 5V / INT4
79: Digital
80: Digital
81: Digital / 5V / INT2
82: Digital
83: 3.3V
84: GND
85: 5V / Console-TX / COM4-TX
86: Console-RX / COM4-RX
87: Digital / 5V / COM1-RX
88: Digital
89: Digital
90: Digital
91: Digital / 5V / SSD1963-D0
92: GND
93: 3.3V
94: Digital / 5V / SSD1963-D1
95: Digital
96: Digital
97: Digital
98: Digital / 5V / SSD1963-D2 
99: Digital / 5V / SSD1963-D3 
100: Analog / Digital / 5V / SSD1963-D4
