articles/(re)sources: Start preformatted blocks on the same line.

To avoid an extra line of white space.
M contributing/documents.php +1 -2
@@ 71,8 71,7 @@ 
 
 <p>Some preformatted text/tables/code:</p>
 
-<pre>
-                MSB  7   6   5   4   3   2   1   0  LSB
+<pre>                MSB  7   6   5   4   3   2   1   0  LSB
                    +---+---+---+---+---+---+---+---+
    Port #1         |A7 |A6 |A5 |A4 |A3 |A2 |A1 |A0 | First byte
                    +---+---+---+---+---+---+---+---+

          
M resources/dos2_functioncalls.php +100 -201
@@ 13,7 13,6 @@ 
 <h1>MSX-DOS version 2 - function reference</h1>
 
 <pre>
-
                   M S X -- D O S   v e r s i o n  2
                   =================================
 

          
@@ 26,8 25,7 @@ 
 </pre>
 
 
-<pre>
-CONTENTS                                       Page
+<pre>CONTENTS                                       Page
 
 1.    <a href="#c1">Introduction</a> ............................  3
 2.    <a href="#c2">List of functions</a> .......................  4

          
@@ 85,8 83,7 @@ 70h).</p>
 
 <p>List of MSX-DOS 2 Function Calls</p>
 
-<pre>
-     CPM MSX1  00h -  <a href="#_TERM0">Program terminate</a>
+<pre>     CPM MSX1  00h -  <a href="#_TERM0">Program terminate</a>
      CPM MSX1* 01h -  <a href="#_CONIN">Console input</a>
      CPM MSX1* 02h -  <a href="#_CONOUT">Console output</a>
      CPM MSX1* 03h -  <a href="#_AUXIN">Auxiliary input</a>

          
@@ 257,8 254,7 @@ will always be correctly updated.</p>
 
   <h3 id="_TERM0">3.1   PROGRAM TERMINATE (00H)</h3>
 
-<pre>
-     Parameters:    C = 00H (_TERM0)
+<pre>     Parameters:    C = 00H (_TERM0)
      Results:       Does not return
 </pre>
 

          
@@ 275,8 271,7 @@ what happens when a program terminates. 
 
   <h3 id="_CONIN">3.2   CONSOLE INPUT (01H)</h3>
 
-<pre>
-    Parameters:    C = 01H (_CONIN)
+<pre>    Parameters:    C = 01H (_CONIN)
     Results:     L=A = Character from keyboard
 </pre>
 

          
@@ 294,8 289,7 @@ character.  Thus these characters will n
 
   <h3 id="_CONOUT">3.3   CONSOLE OUTPUT (02H)</h3>
 
-<pre>
-     Parameters:    C = 02H (_CONOUT)
+<pre>     Parameters:    C = 02H (_CONOUT)
                     E = Character to be output
      Results:       None
 </pre>

          
@@ 318,8 312,7 @@ Any other character will be saved intern
 
   <h3 id="_AUXIN">3.4   AUXILIARY INPUT (03H)</h3>
 
-<pre>
-     Parameters:    C = 03H (_AUXIN)
+<pre>     Parameters:    C = 03H (_AUXIN)
      Results:     L=A = Input character
 </pre>
 

          
@@ 335,8 328,7 @@ file character ("Ctrl-Z").</p>
 
   <h3 id="_AUXOUT">3.5   AUXILIARY OUTPUT (04H)</h3>
 
-<pre>
-     Parameters:    C = 04H (_AUXOUT)
+<pre>     Parameters:    C = 04H (_AUXOUT)
                     E = Character to be output
      Results:       None
 </pre>

          
@@ 352,8 344,7 @@ device has been installed then this func
 
   <h3 id="_LSTOUT">3.6   PRINTER OUTPUT (05H)</h3>
 
-<pre>
-     Parameters:    C = 05H (_LSTOUT)
+<pre>     Parameters:    C = 05H (_LSTOUT)
                     E = Character to be output
       Results:      None
 </pre>

          
@@ 370,8 361,7 @@ echoed to the printer with "Ctrl-P".</p>
 
   <h3 id="_DIRIO">3.7   DIRECT CONSOLE I/O (06H)</h3>
 
-<pre>
-     Parameters:    C = 06H (_DIRIO)
+<pre>     Parameters:    C = 06H (_DIRIO)
                     E = 00H...FEH - character for output
                       = FFH  - requests input
      Results:     A=L = input - 00H - no character ready

          
@@ 397,8 387,7 @@ include TAB expansion so the effect on t
 
   <h3 id="_DIRIN">3.8   DIRECT CONSOLE INPUT (07H)</h3>
 
-<pre>
-     Parameters:    C = 07H (_DIRIN)
+<pre>     Parameters:    C = 07H (_DIRIN)
      Results:     L=A = Input character
 </pre>
 

          
@@ 413,8 402,7 @@ This function is not compatible with CP/
 
   <h3 id="_INNOE">3.9   CONSOLE INPUT WITHOUT ECHO (08H)</h3>
 
-<pre>
-     Parameters:    C = 08H (_INNOE)
+<pre>     Parameters:    C = 08H (_INNOE)
      Results:     L=A = Input character
 </pre>
 

          
@@ 429,8 417,7 @@ compatible with CP/M which uses this fun
 
   <h3 id="_STROUT">3.10   STRING OUTPUT (09H)</h3>
 
-<pre>
-     Parameters:    C = 09H (_STROUT)
+<pre>     Parameters:    C = 09H (_STROUT)
                    DE = Address of string
      Results:       None
 </pre>

          
@@ 445,8 432,7 @@ output routine (function call 02h).  The
 
   <h3 id="_BUFIN">3.11   BUFFERED LINE INPUT (0AH)</h3>
 
-<pre>
-     Parameters:    C = 0AH (_BUFIN)
+<pre>     Parameters:    C = 0AH (_BUFIN)
                    DE = Address of an input buffer
      Results:       None
 </pre>

          
@@ 473,8 459,7 @@ echoed to the standard output and also t
 
   <h3 id="_CONST">3.12   CONSOLE STATUS (0BH)</h3>
 
-<pre>
-     Parameters:    C = 0BH (_CONST)
+<pre>     Parameters:    C = 0BH (_CONST)
      Results:     L=A = 00H if no key was pressed
                       = FFH if a key was pressed
 </pre>

          
@@ 503,8 488,7 @@ functions 01h, 02h, 08h, 09h and 0Ah.</p
 
   <h3 id="_CPMVER">3.13   RETURN VERSION NUMBER (0CH)</h3>
 
-<pre>
-     Parameters:    C = 0CH (_CPMVER)
+<pre>     Parameters:    C = 0CH (_CPMVER)
      Results:     L=A = 22H
                   H=B = 00H
 </pre>

          
@@ 519,8 503,7 @@ version 2.2 in current systems.</p>
 
   <h3 id="_DSKRST">3.14   DISK RESET (0DH)</h3>
 
-<pre>
-     Parameters:    C = 0DH (_DSKRST)
+<pre>     Parameters:    C = 0DH (_DSKRST)
      Results:       None
 </pre>
 

          
@@ 535,8 518,7 @@ also set back to its default value of 80
 
   <h3 id="_SELDSK">3.15   SELECT DISK (0EH)</h3>
 
-<pre>
-     Parameters:    C = 0EH (_SELDSK)
+<pre>     Parameters:    C = 0EH (_SELDSK)
                     E = Drive number.  0=A:  1=B:   etc.
      Results:     L=A = Number of drives (1...8)
 </pre>

          
@@ 553,8 535,7 @@ register A but this will not include the
 
   <h3 id="_FOPEN">3.16   OPEN FILE [FCB] (0FH)</h3>
 
-<pre>
-     Parameters:    C = 0FH (_FOPEN)
+<pre>     Parameters:    C = 0FH (_FOPEN)
                    DE = Pointer to unopened FCB 
      Results:     L=A = 0FFH if file not found
                       =   0  if file is found

          
@@ 602,8 583,7 @@ to ensure correct accessing of the file 
 
   <h3 id="_FCLOSE">3.17   CLOSE FILE [FCB] (10H)</h3>
 
-<pre>
-     Parameters:    C = 10H (_FCLOSE)
+<pre>     Parameters:    C = 10H (_FCLOSE)
                    DE = Pointer to opened FCB
      Results:     L=A = 0FFH if not successful
                       =   0  if successful

          
@@ 621,8 601,7 @@ still be accessed after a close, so the 
 
   <h3 id="_SFIRST">3.18   SEARCH FOR FIRST [FCB] (11H)</h3>
 
-<pre>
-     Parameters:    C = 11H (_SFIRST)
+<pre>     Parameters:    C = 11H (_SFIRST)
                    DE = Pointer to unopened FCB
      Results:     L=A = 0FFH if file not found
                       =   0  if file found.

          
@@ 662,8 641,7 @@ 1/2.</p>
 
   <h3 id="_SNEXT">3.19   SEARCH FOR NEXT [FCB] (12H)</h3>
 
-<pre>
-     Parameters:    C = 12H (_SNEXT)
+<pre>     Parameters:    C = 12H (_SNEXT)
      Results:     L=A = 0FFH if file not found
                       =   0  if file found.
 </pre>

          
@@ 680,8 658,7 @@ FIRST need not still exist.</p>
 
   <h3 id="_FDEL">3.20   DELETE FILE [FCB] (13H)</h3>
 
-<pre>
-     Parameters:    C = 13H (_FDEL)
+<pre>     Parameters:    C = 13H (_FDEL)
                   DE = Pointer to unopened FCB
      Results:     L=A = 0FFH if no files deleted
                       =   0  if files deleted OK

          
@@ 699,8 676,7 @@ A return with A=FFh indicates that no fi
 
   <h3 id="_RDSEQ">3.21   SEQUENTIAL READ [FCB] (14H)</h3>
 
-<pre>
-     Parameters:    C = 14H (_RDSEQ)
+<pre>     Parameters:    C = 14H (_RDSEQ)
                    DE = Pointer to opened FCB
      Results:     L=A = 01H if error (end of file)
                       =  0  if read was successful

          
@@ 724,8 700,7 @@ zeroes when it is copied to the transien
 
   <h3 id="_WRSEQ">3.22   SEQUENTIAL WRITE [FCB] (15H)</h3>
 
-<pre>
-     Parameters:    C = 15H (_WRSEQ)
+<pre>     Parameters:    C = 15H (_WRSEQ)
                    DE = Pointer to opened FCB
      Results:     L=A = 01H if error (disk full)
                       =  0  if write was successful

          
@@ 743,8 718,7 @@ extent.  The file size in the FCB is als
 
   <h3 id="_FMAKE">3.23   CREATE FILE [FCB] (16H)</h3>
 
-<pre>
-     Parameters:    C = 16H (_FMAKE)
+<pre>     Parameters:    C = 16H (_FMAKE)
                    DE = Pointer to unopened FCB
      Results:     L=A = 0FFH if unsuccessful
                       =   0  if successful   

          
@@ 772,8 746,7 @@ OPEN function call had been done.</p>
 
   <h3 id="_FREN">3.24   RENAME FILE [FCB] (17H)</h3>
 
-<pre>
-     Parameters:    C = 17H (_FREN)
+<pre>     Parameters:    C = 17H (_FREN)
                    DE = Pointer to unopened FCB
      Results:     L=A = 0FFH not if successful
                       =   0  if successful

          
@@ 793,8 766,7 @@ being created. Entries for sub-directori
 
   <h3 id="_LOGIN">3.25   GET LOGIN VECTOR (18H)</h3>
 
-<pre>
-     Parameters:    C = 18H (_LOGIN)
+<pre>     Parameters:    C = 18H (_LOGIN)
      Results:      HL = Login vector
 </pre>
 

          
@@ 809,8 781,7 @@ supported by the system currently, so re
 
   <h3 id="_CURDRV">3.26   GET CURRENT DRIVE (19H)</h3>
 
-<pre>
-     Parameters:    C = 19H (_CURDRV)
+<pre>     Parameters:    C = 19H (_CURDRV)
      Results:     L=A = Current drive (0=A: etc)
 </pre>
 

          
@@ 822,8 793,7 @@ supported by the system currently, so re
 
   <h3 id="_SETDTA">3.27   SET DISK TRANSFER ADDRESS (1AH)</h3>
 
-<pre>
-     Parameters:    C = 1AH (_SETDTA)
+<pre>     Parameters:    C = 1AH (_SETDTA)
                    DE = Required Disk Transfer Address
      Results:       None
 </pre>

          
@@ 840,8 810,7 @@ the new MSX-DOS read and write functions
 
   <h3 id="_ALLOC">3.28   GET ALLOCATION INFORMATION (1BH)</h3>
 
-<pre>
-     Parameters:    C = 1BH (_ALLOC)
+<pre>     Parameters:    C = 1BH (_ALLOC)
                     E = Drive number (0=current, 1=A: etc)
      Results:       A = Sectors per cluster
                    BC = Sector size (always 512)

          
@@ 864,8 833,7 @@ and the data there will only remain vali
 
   <h3 id="_RDRND">3.29   RANDOM READ [FCB] (21H)</h3>
 
-<pre>
-     Parameters:    C = 21H (_RDRND)
+<pre>     Parameters:    C = 21H (_RDRND)
                    DE = Pointer to opened FCB
      Results:     L=A = 01H if error (end of file)
                          0  if read was successful

          
@@ 889,8 857,7 @@ The record count byte is also set up cor
 
   <h3 id="_WRRND">3.30   RANDOM WRITE [FCB] (22H)</h3>
 
-<pre>
-     Parameters:    C = 22H (_WRRND)
+<pre>     Parameters:    C = 22H (_WRRND)
                    DE = Pointer to opened FCB
      Results:     L=A = 01H if error (disk full)
                       =  0  if no error 

          
@@ 912,8 879,7 @@ file is being extended or if the write g
 
   <h3 id="_FSIZE">3.31   GET FILE SIZE [FCB] (23H)</h3>
 
-<pre>
-     Parameters:    C = 23H (_FSIZE)
+<pre>     Parameters:    C = 23H (_FSIZE)
                    DE = Pointer to unopened FCB
      Results:     L=A = 0FFH if file not found
                       =   0  if file found OK

          
@@ 932,8 898,7 @@ record number is not altered.</p>
 
   <h3 id="_SETRND">3.32   SET RANDOM RECORD [FCB] (24H)</h3>
 
-<pre>
-     Parameters:    C = 24H (_SETRND)
+<pre>     Parameters:    C = 24H (_SETRND)
                    DE = Pointer to opened FCB
      Results:       None
 </pre>

          
@@ 949,8 914,7 @@ No check is done as to whether the recor
 
   <h3 id="_WRBLK">3.33   RANDOM BLOCK WRITE [FCB] (26H)</h3>
 
-<pre>
-     Parameters:    C = 26H (_WRBLK)
+<pre>     Parameters:    C = 26H (_WRBLK)
                    DE = Pointer to opened FCB
                    HL = Number of records to write
      Results:       A = 01H if error 

          
@@ 991,8 955,7 @@ Additional disk space allocated in this 
 
   <h3 id="_RDBLK">3.34   RANDOM BLOCK READ [FCB] (27H)</h3>
 
-<pre>
-     Parameters:    C = 27H (_RDBLK)
+<pre>     Parameters:    C = 27H (_RDBLK)
                    DE = Pointer to opened FCB
                    HL = Number of records to read
      Results:       A = 01H if error (usually caused by end-of-file)

          
@@ 1022,8 985,7 @@ the first record not read, ie. the value
 
   <h3 id="_WRZER">3.35   RANDOM WRITE WITH ZERO FILL [FCB] (28H)</h3>
 
-<pre>
-     Parameters:    C = 28H (_WRZER)
+<pre>     Parameters:    C = 28H (_WRZER)
                    DE = Pointer to opened FCB
      Results:     L=A = 01H if error
                       = 00H if no error

          
@@ 1040,8 1002,7 @@ extended, any extra allocated disk clust
 
   <h3 id="_GDATE">3.36   GET DATE (2AH)</h3>
 
-<pre>
-     Parameters:    C = 2AH (_GDATE)
+<pre>     Parameters:    C = 2AH (_GDATE)
      Results:      HL = Year 1980...2079
                     D = Month (1=Jan...12=Dec)
                     E = Date (1...31)

          
@@ 1056,8 1017,7 @@ extended, any extra allocated disk clust
 
   <h3 id="_SDATE">3.37   SET DATE (2BH)</h3>
 
-<pre>
-     Parameters:    C = 2BH (_SDATE)
+<pre>     Parameters:    C = 2BH (_SDATE)
                    HL = Year 1980...2079
                     D = Month (1=Jan...12=Dec)
                     E = Date (1...31)

          
@@ 1077,8 1037,7 @@ time clock chip so it will be remembered
 
   <h3 id="_GTIME">3.38   GET TIME (2CH)</h3>
 
-<pre>
-     Parameters:    C = 2CH (_GTIME)
+<pre>     Parameters:    C = 2CH (_GTIME)
      Results:       H = Hours (0...23)
                     L = Minutes (0...59)
                     D = Seconds (0...59)

          
@@ 1093,8 1052,7 @@ time clock chip so it will be remembered
 
   <h3 id="_STIME">3.39   SET TIME (2DH)</h3>
 
-<pre>
-     Parameters:    C = 2DH (_STIME)
+<pre>     Parameters:    C = 2DH (_STIME)
                     H = Hours (0...23)
                     L = Minutes (0...59)
                     D = Seconds (0...59)

          
@@ 1115,8 1073,7 @@ correct when the machine is turned off.<
 
   <h3 id="_VERIFY">3.40   SET/RESET VERIFY FLAG (2EH)</h3>
 
-<pre>
-     Parameters:    C = 2EH (_VERIFY)
+<pre>     Parameters:    C = 2EH (_VERIFY)
                     E =  0 to disable verify
                       &lt;&gt; 0 to enable verify  
      Results:       None

          
@@ 1134,8 1091,7 @@ if the driver does not support it.</p>
 
   <h3 id="_RDABS">3.41   ABSOLUTE SECTOR READ (2FH)</h3>
 
-<pre>
-     Parameters:    C = 2FH (_RDABS)
+<pre>     Parameters:    C = 2FH (_RDABS)
                    DE = Sector number
                     L = Drive number (0=A: etc.)
                     H = Number of sectors to read

          
@@ 1154,8 1110,7 @@ reported by the system in the usual way.
 
   <h3 id="_WRABS">3.42   ABSOLUTE SECTOR WRITE (30H)</h3>
 
-<pre>
-     Parameters:    C = 30H (_WRABS)
+<pre>     Parameters:    C = 30H (_WRABS)
                    DE = Sector number
                     L = Drive number (0=A: etc.)
                     H = Number of sectors to write

          
@@ 1174,8 1129,7 @@ reported by the system in the usual way.
 
   <h3 id="_DPARM">3.43   GET DISK PARAMETERS (31H)</h3>
 
-<pre>
-     Parameters:    C = 31H (_DPARM)
+<pre>     Parameters:    C = 31H (_DPARM)
                    DE = Pointer to 32 byte buffer
                     L = Drive number (0=default, 1=A: etc.)
      Results:       A = Error code

          
@@ 1189,8 1143,7 @@ to do absolute sector reads and writes, 
 numbers.  The parameters returned contain some redundant information in order to provide parameters 
 which are most useful to transient programs.  The format of the returned parameter block is:</p>
 
-<pre>
-     DE+0      - Physical drive number (1=A: etc)
+<pre>     DE+0      - Physical drive number (1=A: etc)
      DE+1,2    - Sector size (always 512 currently)
      DE+3      - Sectors per cluster (non-zero power of 2)
      DE+4,5    - Number of reserved sectors (usually 1)

          
@@ 1215,8 1168,7 @@ command. It is reset when the file alloc
 
   <h3 id="_FFIRST">3.44   FIND FIRST ENTRY (40H)</h3>
 
-<pre>
-     Parameters:    C = 40H (_FFIRST) 
+<pre>     Parameters:    C = 40H (_FFIRST) 
                    DE = Drive/path/file ASCIIZ string
                                 or fileinfo block pointer
                         HL = filename ASCIIZ string (only if

          
@@ 1261,8 1213,7 @@ this case when a match is found the new 
 
   <h3 id="_FNEXT">3.45   FIND NEXT ENTRY (41H)</h3>
 
-<pre>
-     Parameters:    C = 41H (_FNEXT) 
+<pre>     Parameters:    C = 41H (_FNEXT) 
                         IX = Pointer to fileinfo block from
                              previous find first function. 
      Results:       A = Error

          
@@ 1281,8 1232,7 @@ otherwise the fileinfo block is filled i
 
   <h3 id="_FNEW">3.46   FIND NEW ENTRY (42H)</h3>
 
-<pre>
-     Parameters:    C = 42H (_FNEW) 
+<pre>     Parameters:    C = 42H (_FNEW) 
                         DE = Drive/path/file ASCIIZ string
                                 or fileinfo block pointer
                         HL = filename ASCIIZ string (only if

          
@@ 1354,8 1304,7 @@ exactly as if it had been returned from 
 
   <h3 id="_OPEN">3.47   OPEN FILE HANDLE (43H)</h3>
 
-<pre>
-     Parameters:    C = 43H (_OPEN) 
+<pre>     Parameters:    C = 43H (_OPEN) 
                         DE = Drive/path/file ASCIIZ string
                                 or fileinfo block pointer
                     A = Open mode. b0 set => no write

          
@@ 1395,8 1344,7 @@ reading from devices in binary mode beca
 
   <h3 id="_CREATE">3.48   CREATE FILE HANDLE (44H)</h3>
 
-<pre>
-     Parameters:    C = 44H (_CREATE) 
+<pre>     Parameters:    C = 44H (_CREATE) 
                         DE = Drive/path/file ASCIIZ string
                     A = Open mode. b0 set => no write
                                    b1 set => no read

          
@@ 1437,8 1385,7 @@ be returned as 0FFh which can never be a
 
   <h3 id="_CLOSE">3.49   CLOSE FILE HANDLE (45H)</h3>
 
-<pre>
-     Parameters:    C = 45H (_CLOSE) 
+<pre>     Parameters:    C = 45H (_CLOSE) 
                     B = File handle
      Results:       A = Error
 </pre>

          
@@ 1456,8 1403,7 @@ file handle will return an error.  If th
 
   <h3 id="_ENSURE">3.50   ENSURE FILE HANDLE (46H)</h3>
 
-<pre>
-     Parameters:    C = 46H (_ENSURE) 
+<pre>     Parameters:    C = 46H (_ENSURE) 
                     B = File handle
      Results:       A = Error
 </pre>

          
@@ 1474,8 1420,7 @@ file, and the current file pointer setti
 
   <h3 id="_DUP">3.51   DUPLICATE FILE HANDLE (47H)</h3>
 
-<pre>
-     Parameters:    C = 47H (_DUP) 
+<pre>     Parameters:    C = 47H (_DUP) 
                     B = File handle
      Results:       A = Error
                     B = New file handle

          
@@ 1503,8 1448,7 @@ ensured or deleted) then an ".FDEL" erro
 
   <h3 id="_READ">3.52   READ FROM FILE HANDLE (48H)</h3>
 
-<pre>
-     Parameters:    C = 48H (_READ) 
+<pre>     Parameters:    C = 48H (_READ) 
                     B = File handle
                    DE = Buffer address
                    HL = Number of bytes to read  

          
@@ 1567,8 1511,7 @@ another line input.  The end of file con
 
   <h3 id="_WRITE">3.53   WRITE TO FILE HANDLE (49H)</h3>
 
-<pre>
-     Parameters:    C = 49H (_WRITE) 
+<pre>     Parameters:    C = 49H (_WRITE) 
                     B = File handle
                    DE = Buffer address
                    HL = Number of bytes to write

          
@@ 1612,8 1555,7 @@ Also printer echo if enabled will only b
 
   <h3 id="_SEEK">3.54   MOVE FILE HANDLE POINTER (4AH)</h3>
 
-<pre>
-     Parameters:    C = 4AH (_SEEK) 
+<pre>     Parameters:    C = 4AH (_SEEK) 
                     B = File handle
                     A = Method code
                 DE:HL = Signed offset

          
@@ 1626,8 1568,7 @@ Also printer echo if enabled will only b
 code and offset, and the new pointer value returned in DE:HL.  The method code specifies where the 
 signed offset is relative to as follows:</p>
 
-<pre>
-     A=0  Relative to the beginning of the file
+<pre>     A=0  Relative to the beginning of the file
      A=1  Relative to the current position
      A=2  Relative to the end of the file.
 </pre>

          
@@ 1650,8 1591,7 @@ unlikely to be useful.</p>
 
   <h3 id="_IOCTL">3.55   I/O CONTROL FOR DEVICES (4BH)</h3>
 
-<pre>
-     Parameters:    C = 4BH (_IOCTL) 
+<pre>     Parameters:    C = 4BH (_IOCTL) 
                     B = File handle
                     A = Sub-function code
                         00H => get file handle status

          
@@ 1682,8 1622,7 @@ handles and disk file handles, and bit-7
 follows:</p>
 
 
-<pre>
-For devices:    DE -     b0  set  => console input device
+<pre>For devices:    DE -     b0  set  => console input device
                          b1  set  => console output device
                      b2..b4  reserved
                          b5  set  => ASCII mode

          
@@ 1729,8 1668,7 @@ to decide how many files to print per li
 
   <h3 id="_HTEST">3.56   TEST FILE HANDLE (4CH)</h3>
 
-<pre>
-     Parameters:    C = 4CH (_HTEST)
+<pre>     Parameters:    C = 4CH (_HTEST)
                     B = File handle
                    DE = Drive/path/file ASCIIZ string
                                 or fileinfo block pointer

          
@@ 1757,8 1695,7 @@ programs which need to do similar tests.
 
   <h3 id="_DELETE">3.57   DELETE FILE OR SUBDIRECTORY (4DH)</h3>
 
-<pre>
-     Parameters:    C = 4DH (_DELETE) 
+<pre>     Parameters:    C = 4DH (_DELETE) 
                    DE = Drive/path/file ASCIIZ string
                                 or fileinfo block pointer
      Results:       A = Error

          
@@ 1789,8 1726,7 @@ actually be deleted.</p>
 
   <h3 id="_RENAME">3.58   RENAME FILE OR SUBDIRECTORY (4EH)</h3>
 
-<pre>
-     Parameters:    C = 4EH (_RENAME) 
+<pre>     Parameters:    C = 4EH (_RENAME) 
                    DE = Drive/path/file ASCIIZ string
                                 or fileinfo block pointer
                    HL = New filename ASCIIZ string 

          
@@ 1826,8 1762,7 @@ Therefore care must be taken in using th
 
   <h3 id="_MOVE">3.59   MOVE FILE OR SUBDIRECTORY (4FH)</h3>
 
-<pre>
-     Parameters:    C = 4FH (_MOVE) 
+<pre>     Parameters:    C = 4FH (_MOVE) 
                    DE = Drive/path/file ASCIIZ string
                                 or fileinfo block pointer
                    HL = New path ASCIIZ string 

          
@@ 1861,8 1796,7 @@ operations on it such as "rename" or "op
 
   <h3 id="_ATTR">3.60   GET/SET FILE ATTRIBUTES (50H)</h3>
 
-<pre>
-     Parameters:    C = 50H (_ATTR) 
+<pre>     Parameters:    C = 50H (_ATTR) 
                    DE = Drive/path/file ASCIIZ string
                                 or fileinfo block pointer
                     A = 0 => get attributes

          
@@ 1898,8 1832,7 @@ will not actually be changed (since it d
 
   <h3 id="_FTIME">3.61   GET/SET FILE DATE AND TIME (51H)</h3>
 
-<pre>
-     Parameters:    C = 51H (_FTIME) 
+<pre>     Parameters:    C = 51H (_FTIME) 
                    DE = Drive/path/file ASCIIZ string
                                 or fileinfo block pointer
                     A = 0 => get date and time

          
@@ 1936,8 1869,7 @@ there is a file handle open to the file 
 
   <h3 id="_HDELETE">3.62   DELETE FILE HANDLE (52H)</h3>
 
-<pre>
-     Parameters:    C = 52H (_HDELETE) 
+<pre>     Parameters:    C = 52H (_HDELETE) 
                     B = File handle
      Results:       A = Error
 </pre>

          
@@ 1959,8 1891,7 @@ such as ".FILRO" or ".FOPEN".</p>
 
   <h3 id="_HRENAME">3.63   RENAME FILE HANDLE (53H)</h3>
 
-<pre>
-     Parameters:    C = 53H (_HRENAME) 
+<pre>     Parameters:    C = 53H (_HRENAME) 
                     B = File handle
                    HL = New filename ASCIIZ string 
      Results:       A = Error

          
@@ 1983,8 1914,7 @@ will do an implicit "ensure" operation.<
 
   <h3 id="_HMOVE">3.64   MOVE FILE HANDLE (54H)</h3>
 
-<pre>
-     Parameters:    C = 54H (_HMOVE) 
+<pre>     Parameters:    C = 54H (_HMOVE) 
                     B = File handle
                    HL = New path ASCIIZ string 
      Results:       A = Error

          
@@ 2007,8 1937,7 @@ an implicit "ensure" operation.</p>
 
   <h3 id="_HATTR">3.65   GET/SET FILE HANDLE ATTRIBUTES (55H)</h3>
 
-<pre>
-     Parameters:    C = 55H (_HATTR) 
+<pre>     Parameters:    C = 55H (_HATTR) 
                     B = File handle
                     A = 0 => get attributes
                         1 => set attributes

          
@@ 2033,8 1962,7 @@ altered but an implicit "ensure" operati
 
   <h3 id="_HFTIME">3.66   GET/SET FILE HANDLE DATE AND TIME (56H)</h3>
 
-<pre>
-     Parameters:    C = 56H (_HFTIME) 
+<pre>     Parameters:    C = 56H (_HFTIME) 
                     B = File handle
                     A = 0 => get date and time
                         1 => set date and time 

          
@@ 2063,8 1991,7 @@ altered but an implicit "ensure" operati
 
   <h3 id="_GETDTA">3.67   GET DISK TRANSFER ADDRESS (57H)</h3>
 
-<pre>
-     Parameters:    C = 57H (_GETDTA) 
+<pre>     Parameters:    C = 57H (_GETDTA) 
      Results:      DE = Current disk transfer address
 </pre>
 

          
@@ 2078,8 2005,7 @@ altered but an implicit "ensure" operati
 
   <h3 id="_GETVFY">3.68   GET VERIFY FLAG SETTING (58H)</h3>
 
-<pre>
-     Parameters:    C = 58H (_GETVFY) 
+<pre>     Parameters:    C = 58H (_GETVFY) 
      Results:       B = 00H => verify disabled
                         FFH => verify enabled
 </pre>

          
@@ 2094,8 2020,7 @@ function 2Eh.</p>
 
   <h3 id="_GETCD">3.69   GET CURRENT DIRECTORY (59H)</h3>
 
-<pre>
-     Parameters:    C = 59H (_GETCD) 
+<pre>     Parameters:    C = 59H (_GETCD) 
                     B = Drive number (0=current, 1=A: etc)
                    DE = Pointer to 64 byte buffer 
      Results:       A = Error

          
@@ 2115,8 2040,7 @@ the current directory will be set back t
 
   <h3 id="_CHDIR">3.70   CHANGE CURRENT DIRECTORY (5AH)</h3>
 
-<pre>
-     Parameters:    C = 5AH (_CHDIR) 
+<pre>     Parameters:    C = 5AH (_CHDIR) 
                    DE = Drive/path/file ASCIIZ string
      Results:       A = Error
 </pre>

          
@@ 2132,8 2056,7 @@ current setting will be unaltered and a 
 
   <h3 id="_PARSE">3.71   PARSE PATHNAME (5BH)</h3>
 
-<pre>
-     Parameters:    C = 5BH (_PARSE) 
+<pre>     Parameters:    C = 5BH (_PARSE) 
                     B = Volume name flag (bit 4)
                    DE = ASCIIZ string for parsing
      Results:       A = Error

          
@@ 2177,8 2100,7 @@ volume name bits 1, 4, 5, 6 and 7 will a
 last item on the string (the "filename" component).  The bit assignments are as follows:</p>  
 
 
-<pre>
-b0 - set if any characters parsed other than drive name
+<pre>b0 - set if any characters parsed other than drive name
 b1 - set if any directory path specified
 b2 - set if drive name specified
 b3 - set if main filename specified in last item

          
@@ 2193,8 2115,7 @@ b7 - set if last item is ".."
 
   <h3 id="_PFILE">3.72   PARSE FILENAME (5CH)</h3>
 
-<pre>
-     Parameters:    C = 5CH (_PFILE) 
+<pre>     Parameters:    C = 5CH (_PFILE) 
                    DE = ASCIIZ string for parsing
                    HL = Pointer to 11 byte buffer
      Results:       A = Error (always zero)

          
@@ 2227,8 2148,7 @@ valid filename character (see the "Comma
 
   <h3 id="_CHKCHR">3.73   CHECK CHARACTER (5DH)</h3>
 
-<pre>
-     Parameters:    C = 5DH (_CHKCHR) 
+<pre>     Parameters:    C = 5DH (_CHKCHR) 
                     D = Character flags
                     E = Character to be checked
      Results:       A = 0 (never returns an error)

          
@@ 2241,8 2161,7 @@ valid filename character (see the "Comma
 16-bit characters and manipulation of filenames.  The bit assignments in the character flags are as 
 follows:</p>
 
-<pre>
-   b0   - set to suppress upper casing
+<pre>   b0   - set to suppress upper casing
    b1   - set if first byte of 16-bit character
    b2   - set if second byte of 16-bit character
    b3   - set => volume name (rather than filename)

          
@@ 2272,8 2191,7 @@ filename terminators.</p>
 
   <h3 id="_WPATH">3.74   GET WHOLE PATH STRING (5EH)</h3>
 
-<pre>
-     Parameters:    C = 5EH (_WPATH) 
+<pre>     Parameters:    C = 5EH (_WPATH) 
                    DE = Pointer to 64 byte buffer 
      Results:       A = Error
                    DE = Filled in with whole path string

          
@@ 2308,8 2226,7 @@ relates.</p>
 
   <h3 id="_FLUSH">3.75   FLUSH DISK BUFFERS (5FH)</h3>
 
-<pre>
-     Parameters:    C = 5FH (_FLUSH) 
+<pre>     Parameters:    C = 5FH (_FLUSH) 
                     B = Drive number (0=current, FFH=all)
                     D = 00H => Flush only
                       = FFH => Flush and invalidate 

          
@@ 2327,8 2244,7 @@ If register D is FFh then all buffers fo
 
   <h3 id="_FORK">3.76   FORK TO CHILD PROCESS (60H)</h3>
 
-<pre>
-     Parameters:    C = 60H (_FORK) 
+<pre>     Parameters:    C = 60H (_FORK) 
      Results:       A = Error
                     B = Process id of parent process
 </pre>

          
@@ 2362,8 2278,7 @@ still be there.</p>
 
   <h3 id="_JOIN">3.77   REJOIN PARENT PROCESS (61H)</h3>
 
-<pre>
-     Parameters:    C = 61H (_JOIN) 
+<pre>     Parameters:    C = 61H (_JOIN) 
                     B = Process id of parent, or zero
      Results:       A = Error
                     B = Primary error code from child

          
@@ 2408,8 2323,7 @@ meaning of the primary and secondary err
 
   <h3 id="_TERM">3.78   TERMINATE WITH ERROR CODE (62H)</h3>
 
-<pre>
-     Parameters:    C = 62H (_TERM) 
+<pre>     Parameters:    C = 62H (_TERM) 
                     B = Error code for termination
      Results:       Does not return
 </pre>

          
@@ 2441,8 2355,7 @@ not return the error code.</p>
 
   <h3 id="_DEFAB">3.79   DEFINE ABORT EXIT ROUTINE (63H)</h3>
 
-<pre>
-     Parameters:    C = 63H (_DEFAB) 
+<pre>     Parameters:    C = 63H (_DEFAB) 
                    DE = Address of abort exit routine 
                         0000H to un-define routine 
      Results:       A = 0 (never generates errors)

          
@@ 2495,8 2408,7 @@ 64h) to allow an option to abort the cur
 
   <h3 id="_DEFER">3.80   DEFINE DISK ERROR HANDLER ROUTINE (64H)</h3>
 
-<pre>
-     Parameters:    C = 64H (_DEFER) 
+<pre>     Parameters:    C = 64H (_DEFER) 
                    DE = Address of disk error routine
                         0000H to un-define routine 
      Results:       A = 0 (never generates errors)

          
@@ 2523,8 2435,7 @@ then get control and this may do whateve
 
 
 
-<pre>
-     Parameters:    A = Error code which caused error
+<pre>     Parameters:    A = Error code which caused error
                     B = Physical drive 
                     C = b0 - set if writing
                         b1 - set if ignore not recommended

          
@@ 2542,8 2453,7 @@ then get control and this may do whateve
 
   <h3 id="_ERROR">3.81   GET PREVIOUS ERROR CODE (65H)</h3>
 
-<pre>
-     Parameters:    C = 65H (_ERROR) 
+<pre>     Parameters:    C = 65H (_ERROR) 
      Results:       A = 0
                     B = Error code from previous function
 </pre>

          
@@ 2561,8 2471,7 @@ reasons for the failure and doing this f
 
   <h3 id="_EXPLAIN">3.82   EXPLAIN ERROR CODE (66H)</h3>
 
-<pre>
-     Parameters:    C = 66H (_EXPLAIN) 
+<pre>     Parameters:    C = 66H (_EXPLAIN) 
                     B = Error code to be explained
                    DE = Pointer to 64 byte string buffer
      Results:       A = 0

          
@@ 2591,8 2500,7 @@ form: "System error 194" or "User error 
 
   <h3 id="_FORMAT">3.83   FORMAT A DISK (67H)</h3>
 
-<pre>
-     Parameters:    C = 67H (_FORMAT)
+<pre>     Parameters:    C = 67H (_FORMAT)
                     B = Drive number (0=>current, 1=>A:)
                     A =    00H    => return choice string
                         01H...09H => format this choice

          
@@ 2648,8 2556,7 @@ damaged by this function.</p>
 
   <h3 id="_RAMD">3.84   CREATE OR DESTROY RAMDISK (68H)</h3>
 
-<pre>
-     Parameters:    C = 68H (_RAMD) 
+<pre>     Parameters:    C = 68H (_RAMD) 
                     B =     00H => destroy RAM disk
                         1...FEH => create new RAM disk
                             FFH => return RAM disk size

          
@@ 2682,8 2589,7 @@ in the system.</p>
 
   <h3 id="_BUFFER">3.85   ALLOCATE SECTOR BUFFERS (69H)</h3>
 
-<pre>
-     Parameters:    C = 69H (_BUFFER) 
+<pre>     Parameters:    C = 69H (_BUFFER) 
                     B = 0 => return number of buffers
                         else number of buffers required
      Results:       A = Error

          
@@ 2708,8 2614,7 @@ maximum number of buffers will be about 
 
   <h3 id="_ASSIGN">3.86   LOGICAL DRIVE ASSIGNMENT (6AH)</h3>
 
-<pre>
-     Parameters:    C = 6AH (_ASSIGN) 
+<pre>     Parameters:    C = 6AH (_ASSIGN) 
                     B = Logical drive number (1=A: etc)
                     D = Physical drive number (1=A: etc)
      Results:       A = Error

          
@@ 2741,8 2646,7 @@ corresponding logical drive.</p>
 
   <h3 id="_GENV">3.87   GET ENVIRONMENT ITEM (6BH)</h3>
 
-<pre>
-     Parameters:    C = 6BH (_GENV)
+<pre>     Parameters:    C = 6BH (_GENV)
                    HL = ASCIIZ name string
                    DE = Pointer to buffer for value
                     B = Size of buffer

          
@@ 2765,8 2669,7 @@ null).</p>
 
   <h3 id="_SENV">3.88   SET ENVIRONMENT ITEM (6CH)</h3>
 
-<pre>
-     Parameters:    C = 6CH (_SENV)
+<pre>     Parameters:    C = 6CH (_SENV)
                    HL = ASCIIZ name string
                    DE = ASCIIZ value string
      Results:       A = 

          
@@ 2785,8 2688,7 @@ environment list.  If the value string i
 
   <h3 id="_FENV">3.89   FIND ENVIRONMENT ITEM (6DH)</h3>
 
-<pre>
-     Parameters:    C = 6DH (_FENV)
+<pre>     Parameters:    C = 6DH (_FENV)
                    DE = Environment item number
                    HL = Pointer to buffer for name string
      Results:       A = Error

          
@@ 2808,8 2710,7 @@ number &lt;DE&gt; then a null string wil
 
   <h3 id="_DSKCHK">3.90   GET/SET DISK CHECK STATUS (6EH)</h3>
 
-<pre>
-     Parameters:    C = 6EH (_DSKCHK)
+<pre>     Parameters:    C = 6EH (_DSKCHK)
                     A = 00H => get disk check status
                         01H => set disk check status
                     B = 00H => enable (only if A=01H)

          
@@ 2837,8 2738,7 @@ difference and the additional security i
 
   <h3 id="_DOSVER">3.91   GET MSX-DOS VERSION NUMBER (6FH)</h3>
 
-<pre>
-     Parameters:    C = 6FH (_DOSVER)
+<pre>     Parameters:    C = 6FH (_DOSVER)
      Results:       A = Error (always zero)
                    BC = MSX-DOS kernel version
                    DE = MSXDOS2.SYS version number

          
@@ 2864,8 2764,7 @@ version in register DE.</p>
 
   <h3 id="_REDIR">3.92   GET/SET REDIRECTION STATE (70H)</h3>
 
-<pre>
-     Parameters:    C = 70H (_REDIR)
+<pre>     Parameters:    C = 70H (_REDIR)
                     A = 00H => get redirection state
                         01H => set redirection state
                     B = New state.   b0 - standard input

          
M resources/msxbios.php +124 -248
@@ 27,8 27,7 @@ 
 <h2>RST-and other routines</h2>
 
 <h3 id="CHKRAM">CHKRAM (also called STARTUP, RESET or BOOT)</h3>
-<pre>
-Address  : #0000
+<pre>Address  : #0000
 Function : Tests RAM and sets RAM slot for the system
 Registers: All
 Remark   : After this, a jump must be made to INIT, for further initialisation.

          
@@ 36,8 35,7 @@ Remark   : After this, a jump must be ma
 
 
 <h3 id="SYNCHR">SYNCHR</h3>
-<pre>
-Address  : #0008
+<pre>Address  : #0008
 Function : tests whether the character of [HL] is the specified character
            if not, it generates SYNTAX ERROR, otherwise it goes to CHRGTR (#0010)
 Input    : set the character to be tested in [HL] and the character to be

          
@@ 50,8 48,7 @@ Registers: AF, HL
 
  
 <h3 id="RDSLT">RDSLT</h3>
-<pre>
-Address  : #000C
+<pre>Address  : #000C
 Function : Reads the value of an address in another slot
 Input    : A  - ExxxSSPP
            |        || Primary  slotnumber  (00-11)

          
@@ 65,8 62,7 @@ Remark   : This routine turns off the in
 
 
 <h3 id="CHRGTR">CHRGTR</h3>
-<pre>
-Address  : #0010
+<pre>Address  : #0010
 Function : Gets the next character (or token) of the Basic-text
 Input    : HL - Address last character
 Output   : HL - points to the next character

          
@@ 78,8 74,7 @@ Registers: AF, HL
 
 
 <h3 id="WRSLT">WRSLT</h3>
-<pre>
-Address  : #0014
+<pre>Address  : #0014
 Function : Writes a value to an address in another slot.
 Input    : A  - Slot in which the value will be written
            see RDSLT for input

          
@@ 91,8 86,7 @@ Remark   : See RDSLT
 
 
 <h3 id="OUTDO">OUTDO</h3>
-<pre>
-Address  : #0018
+<pre>Address  : #0018
 Function : Output to current outputchannel (printer, diskfile, etc.)
 Input    : A  - PRTFIL, PRTFLG
 Remark   : Used in basic, in ML it's pretty difficult

          
@@ 100,8 94,7 @@ Remark   : Used in basic, in ML it's pre
 
 
 <h3 id="CALSLT">CALSLT</h3>
-<pre>
-Address  : #001C
+<pre>Address  : #001C
 Function : Executes inter-slot call.
 Input    : IY - High byte with input for A in RDSLT
            IX - The address that will be called

          
@@ 111,8 104,7 @@ Remark   : Variables can never be given 
 
 
 <h3 id="DCOMPR">DCOMPR</h3>
-<pre>
-Address  : #0020
+<pre>Address  : #0020
 Function : Compares HL with DE
 Input    : HL, DE
 Output   : Z-flag set if HL and DE are equal. C-flag set if HL is less than DE.

          
@@ 121,8 113,7 @@ Registers: AF
 
 
 <h3 id="ENASLT">ENASLT</h3>
-<pre>
-Address  : #0024
+<pre>Address  : #0024
 Function : Switches indicated slot at indicated page on perpetual
 Input    : A  - ExxxSSPP
                 +-?------ see RDSLT

          
@@ 131,8 122,7 @@ Input    : A  - ExxxSSPP
 
 
 <h3 id="GETYPR">GETYPR</h3>
-<pre>
-Address  : #0028
+<pre>Address  : #0028
 Function : Returns Type of DAC
 Input    : DAC
 Output   : S,Z,P/V, CY

          
@@ 142,8 132,7 @@ Remark   : Not a very clear routine to m
 
 
 <h3 id="CALLF">CALLF</h3>
-<pre>
-Address  : #0030
+<pre>Address  : #0030
 Function : Executes an interslot call
 Output   : depends on the calling routine
 Registers: AF, and the other registers depending on the calling routine

          
@@ 155,8 144,7 @@ Remark   : The following is the calling 
 
 
 <h3 id="KEYINT">KEYINT</h3>
-<pre>
-Address  : #0038
+<pre>Address  : #0038
 Function : Executes the timer interrupt process routine
 </pre>
 

          
@@ 164,16 152,14 @@ Function : Executes the timer interrupt 
 <h2>Initialization-routines</h2>
 
 <h3 id="INITIO">INITIO</h3>
-<pre>
-Address  : #003B
+<pre>Address  : #003B
 Function : Initialises the device
 Registers: All
 </pre>
 
 
 <h3 id="INIFNK">INIFNK</h3>
-<pre>
-Address  : #003E
+<pre>Address  : #003E
 Function : Initialises the contents of the function keys
 Registers: All
 </pre>

          
@@ 182,24 168,21 @@ Registers: All
 <h2>VDP routines</h2>
 
 <h3 id="DISSCR">DISSCR</h3>
-<pre>
-Address  : #0041
+<pre>Address  : #0041
 Function : inhibits the screen display
 Registers: AF, BC
 </pre>
 
 
 <h3 id="ENASCR">ENASCR</h3>
-<pre>
-Address  : #0044
+<pre>Address  : #0044
 Function : displays the screen
 Registers: AF, BC
 </pre>
 
 
 <h3 id="WRTVDP">WRTVDP</h3>
-<pre>
-Address  : #0047
+<pre>Address  : #0047
 Function : write data in the VDP-register
 Input    : B  - data to write
            C  - number of the register

          
@@ 208,8 191,7 @@ Registers: AF, BC
 
 
 <h3 id="RDVRM">RDVRM</h3>
-<pre>
-Address  : #004A
+<pre>Address  : #004A
 Function : Reads the content of VRAM
 Input    : HL - address read
 Output   : A  - value which was read

          
@@ 218,8 200,7 @@ Registers: AF
 
 
 <h3 id="WRTVRM">WRTVRM</h3>
-<pre>
-Address  : #004D
+<pre>Address  : #004D
 Function : Writes data in VRAM
 Input    : HL - address write
            A  - value write

          
@@ 228,8 209,7 @@ Registers: AF
 
 
 <h3 id="SETRD">SETRD</h3>
-<pre>
-Address  : #0050
+<pre>Address  : #0050
 Function : Enable VDP to read
 Input    : HL - for VRAM-address
 Registers: AF

          
@@ 237,8 217,7 @@ Registers: AF
 
 
 <h3 id="SETWRT">SETWRT</h3>
-<pre>
-Address  : #0053
+<pre>Address  : #0053
 Function : Enable VDP to write
 Input    : HL - Address
 Registers: AF

          
@@ 246,8 225,7 @@ Registers: AF
 
 
 <h3 id="FILVRM">FILVRM</h3>
-<pre>
-Address  : #0056
+<pre>Address  : #0056
 Function : fill VRAM with value
 Input    : A  - data byte
            BC - length of the area to be written

          
@@ 257,8 235,7 @@ Registers: AF, BC
 
 
 <h3 id="LDIRMV">LDIRMV</h3>
-<pre>
-Address  : #0059
+<pre>Address  : #0059
 Function : Block transfer to memory from VRAM
 Input    : BC - blocklength
            DE - Start address of memory

          
@@ 268,8 245,7 @@ Registers: All
 
 
 <h3 id="LDIRVM">LDIRVM</h3>
-<pre>
-Address  : #005C
+<pre>Address  : #005C
 Function : Block transfer to VRAM from memory
 Input    : BC - blocklength
            DE - Start address of VRAM

          
@@ 279,8 255,7 @@ Registers: All
 
 
 <h3 id="CHGMOD">CHGMOD</h3>
-<pre>
-Address  : #005F
+<pre>Address  : #005F
 Function : Switches to given screenmode
 Input    : A  - screen mode
 Registers: All

          
@@ 288,8 263,7 @@ Registers: All
 
 
 <h3 id="CHGCLR">CHGCLR</h3>
-<pre>
-Address  : #0062
+<pre>Address  : #0062
 Function : Changes the screencolors
 Input    : Foregroundcolor in FORCLR
            Backgroundcolor in BAKCLR

          
@@ 299,15 273,13 @@ Registers: All
 
 
 <h3 id="NMI">NMI</h3>
-<pre>
-Address  : #0066
+<pre>Address  : #0066
 Function : Executes (non-maskable interupt) handling routine
 </pre>
 
 
 <h3 id="CLRSPR">CLRSPR</h3>
-<pre>
-Address  : #0069
+<pre>Address  : #0069
 Function : Initialises all sprites
 Input    : SCRMOD
 Registers: Alles

          
@@ 315,8 287,7 @@ Registers: Alles
 
 
 <h3 id="INITXT">INITXT</h3>
-<pre>
-Address  : #006C
+<pre>Address  : #006C
 Function : Schakelt naar SCREEN 0 (tekst-scherm met 40*24 tekens)
 Input    : TXTNAM, TXTCGP
 Registers: All

          
@@ 324,8 295,7 @@ Registers: All
 
 
 <h3 id="INIT32">INIT32</h3>
-<pre>
-Address  : #006F
+<pre>Address  : #006F
 Function : Switches to SCREEN 1 (text screen with 32*24 characters)
 Input    : T32NAM, T32CGP, T32COL, T32ATR, T32PAT
 Registers: All

          
@@ 333,8 303,7 @@ Registers: All
 
 
 <h3 id="INIGRP">INIGRP</h3>
-<pre>
-Address  : #0072
+<pre>Address  : #0072
 Function : Switches to SCREEN 2 (high resolution screen with 256*192 pixels)
 Input    : GRPNAM, GRPCGP, GRPCOL, GRPATR, GRPPAT
 Registers: All

          
@@ 342,8 311,7 @@ Registers: All
 
 
 <h3 id="INIMLT">INIMLT</h3>
-<pre>
-Address  : #0075
+<pre>Address  : #0075
 Function : Switches to SCREEN 3 (multi-color screen 64*48 pixels)
 Input    : MLTNAM, MLTCGP, MLTCOL, MLTATR, MLTPAT
 Registers: All

          
@@ 351,8 319,7 @@ Registers: All
 
 
 <h3 id="SETTXT">SETTXT</h3>
-<pre>
-Address  : #0078
+<pre>Address  : #0078
 Function : Switches to VDP in SCREEN 0 mode
 Input    : See INITXT
 Registers: All

          
@@ 360,8 327,7 @@ Registers: All
 
 
 <h3 id="SETT32">SETT32</h3>
-<pre>
-Address  : #007B
+<pre>Address  : #007B
 Function : Schakelt VDP in SCREEN 1 modus
 Input    : See INIT32
 Registers: All

          
@@ 369,8 335,7 @@ Registers: All
 
 
 <h3 id="SETGRP">SETGRP</h3>
-<pre>
-Address  : #007E
+<pre>Address  : #007E
 Function : Switches VDP to SCREEN 2 mode
 Input    : See INIGRP
 Registers: All

          
@@ 378,8 343,7 @@ Registers: All
 
 
 <h3 id="SETMLT">SETMLT</h3>
-<pre>
-Address  : #0081
+<pre>Address  : #0081
 Function : Switches VDP to SCREEN 3 mode
 Input    : See INIMLT
 Registers: All

          
@@ 387,8 351,7 @@ Registers: All
 
 
 <h3 id="CALPAT">CALPAT</h3>
-<pre>
-Address  : #0084
+<pre>Address  : #0084
 Function : Returns the address of the sprite pattern table
 Input    : A  - Sprite ID
 Output   : HL - For the address

          
@@ 397,8 360,7 @@ Registers: AF, DE, HL
 
 
 <h3 id="CALATR">CALATR</h3>
-<pre>
-Address  : #0087
+<pre>Address  : #0087
 Function : Returns the address of the sprite attribute table
 Input    : A  - Sprite number
 Output   : HL - For the address

          
@@ 407,8 369,7 @@ Registers: AF, DE, HL
 
 
 <h3 id="GSPSIZ">GSPSIZ</h3>
-<pre>
-Address  : #008A
+<pre>Address  : #008A
 Function : Returns current sprite size
 Output   : A  - Sprite-size in bytes
            C-flag set when size is 16*16 sprites otherwise C-flag is reset

          
@@ 417,8 378,7 @@ Registers: AF
 
 
 <h3 id="GRPPRT">GRPPRT</h3>
-<pre>
-Address  : #008D
+<pre>Address  : #008D
 Function : Displays a character on the graphic screen
 Input    : A  - ASCII value of the character to print
 </pre>

          
@@ 428,16 388,14 @@ Input    : A  - ASCII value of the chara
 
 
 <h3 id="GICINI">GICINI</h3>
-<pre>
-Address  : #0090
+<pre>Address  : #0090
 Function : Initialises PSG and sets initial value for the PLAY statement
 Registers: All
 </pre>
 
 
 <h3 id="WRTPSG">WRTPSG</h3>
-<pre>
-Address  : #0093
+<pre>Address  : #0093
 Function : Writes data to PSG-register
 Input    : A  - PSG register number
            E  - data write

          
@@ 445,8 403,7 @@ Input    : A  - PSG register number
 
 
 <h3 id="RDPSG">RDPSG</h3>
-<pre>
-Address  : #0096
+<pre>Address  : #0096
 Function : Reads value from PSG-register
 Input    : A  - PSG-register read
 Output   : A  - value read

          
@@ 454,8 411,7 @@ Output   : A  - value read
 
 
 <h3 id="STRTMS">STRTMS</h3>
-<pre>
-Address  : #0099
+<pre>Address  : #0099
 Function : Tests whether the PLAY statement is being executed as a background
            task. If not, begins to execute the PLAY statement
 Registers: All

          
@@ 465,8 421,7 @@ Registers: All
 <h2>Console routines</h2>
 
 <h3 id="CHSNS">CHSNS</h3>
-<pre>
-Address  : #009C
+<pre>Address  : #009C
 Function : Tests the status of the keyboard buffer
 Output   : Z-flag set if buffer is empty, otherwise not set
 Registers: AF

          
@@ 474,8 429,7 @@ Registers: AF
 
 
 <h3 id="CHGET">CHGET</h3>
-<pre>
-Address  : #009F
+<pre>Address  : #009F
 Function : One character input (waiting)
 Output   : A  - ASCII-code of the input character
 Registers: AF

          
@@ 483,16 437,14 @@ Registers: AF
 
 
 <h3 id="CHPUT">CHPUT</h3>
-<pre>
-Address  : #00A2
+<pre>Address  : #00A2
 Function : Displays one character
 Input    : A  - ASCII-code of character to display
 </pre>
 
 
 <h3 id="LPTOUT">LPTOUT</h3>
-<pre>
-Address  : #00A5
+<pre>Address  : #00A5
 Function : Sends one character to printer
 Input    : A  - ASCII-code of character to send
 Output   : C-flag set if failed

          
@@ 501,8 453,7 @@ Registers: F
 
 
 <h3 id="LPTSTT">LPTSTT</h3>
-<pre>
-Address  : #00A8
+<pre>Address  : #00A8
 Function : Tests printer status
 Output   : A  - #FF and Z-flag reset if printer is ready
                 #00 and Z-flag set if not ready

          
@@ 511,8 462,7 @@ Registers: AF
 
 
 <h3 id="CNVCHR">CNVCHR</h3>
-<pre>
-Address  : #00AB
+<pre>Address  : #00AB
 Function : tests for the graphic header and transforms the code
 Input    : A  - charactercode
 Output   : the C-flag is reset to not the graphic reader

          
@@ 523,8 473,7 @@ Registers: AF
 
 
 <h3 id="PINLIN">PINLIN</h3>
-<pre>
-Address  : #00AE
+<pre>Address  : #00AE
 Function : Stores in the specified buffer the character codes input until the return
            key or STOP key is pressed
 Output   : HL - for the starting address of the buffer -1

          
@@ 534,8 483,7 @@ Registers: All
 
 
 <h3 id="INLIN">INLIN</h3>
-<pre>
-Address  : #00B1
+<pre>Address  : #00B1
 Function : Same as PINLIN except that AUGFLG (#F6AA) is set
 Output   : HL - for the starting address of the buffer -1
            C-flag set when it ends with the STOP key

          
@@ 544,8 492,7 @@ Registers: All
 
 
 <h3 id="QINLIN">QINLIN</h3>
-<pre>
-Address  : #00B4
+<pre>Address  : #00B4
 Function : Prints a questionmark andone space
 Output   : HL - for the starting address of the buffer -1
            C-flag set when it ends with the STOP key

          
@@ 554,8 501,7 @@ Registers: All
 
 
 <h3 id="BREAKX">BREAKX</h3>
-<pre>
-Address  : #00B7
+<pre>Address  : #00B7
 Function : Tests status of CTRL-STOP
 Output   : C-flag set when pressed
 Registers: AF

          
@@ 564,30 510,26 @@ Remark   : In this routine, interrupts a
 
 
 <h3 id="ISCNTC">ISCNTC</h3>
-<pre>
-Address  : #00BA
+<pre>Address  : #00BA
 Function : Tests status of SHIFT-STOP
 </pre>
 
 
 <h3 id="CKCNTC">CKCNTC</h3>
-<pre>
-Address  : #00BD
+<pre>Address  : #00BD
 Function : Same as ISCNTC. used in Basic
 </pre>
 
 
 <h3 id="BEEP">BEEP</h3>
-<pre>
-Address  : #00C0
+<pre>Address  : #00C0
 Function : generates beep
 Registers: All
 </pre>
 
 
 <h3 id="CLS">CLS</h3>
-<pre>
-Address  : #00C3
+<pre>Address  : #00C3
 Function : Clears the screen
 Registers: AF, BC, DE
 Remark   : Z-flag must be set to be able to run this routine

          
@@ 596,8 538,7 @@ Remark   : Z-flag must be set to be able
 
 
 <h3 id="POSIT">POSIT</h3>
-<pre>
-Address  : #00C6
+<pre>Address  : #00C6
 Function : Plaatst cursor op aangegeven positie
 Input    : H  - Y coordinate of cursor
            L  - X coordinate of cursor

          
@@ 606,8 547,7 @@ Registers: AF
 
 
 <h3 id="FNKSB">FNKSB</h3>
-<pre>
-Address  : #00C9
+<pre>Address  : #00C9
 Function : Tests whether the function key display is active (FNKFLG)
            If so, displays them, otherwise erase them
 Input    : FNKFLG (#FBCE)

          
@@ 616,24 556,21 @@ Registers: All
 
 
 <h3 id="ERAFNK">ERAFNK</h3>
-<pre>
-Address  : #00CC
+<pre>Address  : #00CC
 Function : Erase functionkey display
 Registers: All
 </pre>
 
 
 <h3 id="DSPFNK">DSPFNK</h3>
-<pre>
-Address  : #00CF
+<pre>Address  : #00CF
 Function : Displays the function keys
 Registers: All
 </pre>
 
 
 <h3 id="TOTEXT">TOTEXT</h3>
-<pre>
-Address  : #00D2
+<pre>Address  : #00D2
 Function : Forces the screen to be in the text mode
 Registers: All
 </pre>

          
@@ 642,8 579,7 @@ Registers: All
 <h2>Controller routines</h2>
 
 <h3 id="GTSTCK">GTSTCK</h3>
-<pre>
-Address  : #00D5
+<pre>Address  : #00D5
 Function : Returns the joystick status
 Input    : A  - Joystick number to test (0 = cursors, 1 = port 1, 2 = port 2)
 Output   : A  - Direction

          
@@ 652,8 588,7 @@ Registers: All
 
 
 <h3 id="GTTRIG">GTTRIG</h3>
-<pre>
-Address  : #00D8
+<pre>Address  : #00D8
 Function : Returns current trigger status
 Input    : A  - trigger button to test
            0 = spacebar

          
@@ 668,8 603,7 @@ Registers: AF
 
 
 <h3 id="GTPAD">GTPAD</h3>
-<pre>
-Address  : #00DB
+<pre>Address  : #00DB
 Function : Returns current touch pad status
 Input    : A  - Function call number. Fetch device data first, then read.
 

          
@@ 691,8 625,7 @@ Remark   : On MSX2, function call number
 
 
 <h3 id="GTPDL">GTPDL</h3>
-<pre>
-Address  : #00DE
+<pre>Address  : #00DE
 Function : Returns currenct value of paddle
 Input    : A  - Paddle number
 Output   : A  - Value

          
@@ 703,8 636,7 @@ Registers: All
 <h2>Tape device routines</h2>
 
 <h3 id="TAPION">TAPION</h3>
-<pre>
-Address  : #00E1
+<pre>Address  : #00E1
 Function : Reads the header block after turning the cassette motor on
 Output   : C-flag set if failed
 Registers: All

          
@@ 712,8 644,7 @@ Registers: All
 
 
 <h3 id="TAPIN">TAPIN</h3>
-<pre>
-Address  : #00E4
+<pre>Address  : #00E4
 Function : Read data from the tape
 Output   : A  - read value
            C-flag set if failed

          
@@ 722,15 653,13 @@ Registers: All
 
 
 <h3 id="TAPIOF">TAPIOF</h3>
-<pre>
-Address  : #00E7
+<pre>Address  : #00E7
 Function : Stops reading from the tape
 </pre>
 
 
 <h3 id="TAPOON">TAPOON</h3>
-<pre>
-Address  : #00EA
+<pre>Address  : #00EA
 Function : Turns on the cassette motor and writes the header
 Input    : A  - #00 short header
             not #00 long header

          
@@ 740,8 669,7 @@ Registers: All
 
 
 <h3 id="TAPOUT">TAPOUT</h3>
-<pre>
-Address  : #00ED
+<pre>Address  : #00ED
 Function : Writes data on the tape
 Input    : A  - data to write
 Output   : C-flag set if failed

          
@@ 750,15 678,13 @@ Registers: All
 
 
 <h3 id="TAPOOF">TAPOOF</h3>
-<pre>
-Address  : #00F0
+<pre>Address  : #00F0
 Function : Stops writing on the tape
 </pre>
 
 
 <h3 id="STMOTR">STMOTR</h3>
-<pre>
-Address  : #00F3
+<pre>Address  : #00F3
 Function : Sets the cassette motor action
 Input    : A  - #00 stop motor
                 #01 start motor

          
@@ 770,8 696,7 @@ Registers: AF
 <h2>Queue routines</h2>
 
 <h3 id="LFTQ">LFTQ</h3>
-<pre>
-Address  : #00F6
+<pre>Address  : #00F6
 Function : Gives number of bytes in queue
 Output   : A  - length of queue in bytes
 Remark   : Internal use

          
@@ 779,8 704,7 @@ Remark   : Internal use
 
 
 <h3 id="PUTQ">PUTQ</h3>
-<pre>
-Address  : #00F9
+<pre>Address  : #00F9
 Function : Put byte in queue
 Remark   : Internal use
 </pre>

          
@@ 789,32 713,28 @@ Remark   : Internal use
 <h2>Graphic routines</h2>
 
 <h3 id="RIGHTC">RIGHTC</h3>
-<pre>
-Address  : #00FC
+<pre>Address  : #00FC
 Function : Shifts screenpixel to the right
 Registers: AF
 </pre>
 
 
 <h3 id="LEFTC">LEFTC</h3>
-<pre>
-Address  : #00FF
+<pre>Address  : #00FF
 Function : Shifts screenpixel to the left
 Registers: AF
 </pre>
 
 
 <h3 id="UPC">UPC</h3>
-<pre>
-Address  : #0102
+<pre>Address  : #0102
 Function : Shifts screenpixel up
 Registers: AF
 </pre>
 
 
 <h3 id="TUPC">TUPC</h3>
-<pre>
-Address  : #0105
+<pre>Address  : #0105
 Function : Tests whether UPC is possible, if possible, execute UPC
 Output   : C-flag set if operation would end outside the screen
 Registers: AF

          
@@ 822,16 742,14 @@ Registers: AF
 
 
 <h3 id="DOWNC">DOWNC</h3>
-<pre>
-Address  : #0108
+<pre>Address  : #0108
 Function : Shifts screenpixel down
 Registers: AF
 </pre>
 
 
 <h3 id="TDOWNC">TDOWNC</h3>
-<pre>
-Address  : #010B
+<pre>Address  : #010B
 Function : Tests whether DOWNC is possible, if possible, execute DOWNC
 Output   : C-flag set if operation would end outside the screen
 Registers: AF

          
@@ 839,22 757,19 @@ Registers: AF
 
 
 <h3 id="SCALXY">SCALXY</h3>
-<pre>
-Address  : #010E
+<pre>Address  : #010E
 Function : Scales X and Y coordinates
 </pre>
 
 
 <h3 id="MAPXY">MAPXY</h3>
-<pre>
-Address  : #0111
+<pre>Address  : #0111
 Function : Places cursor at current cursor address
 </pre>
 
 
 <h3 id="FETCHC">FETCHC</h3>
-<pre>
-Address  : #0114
+<pre>Address  : #0114
 Function : Gets current cursor addresses mask pattern
 Output   : HL - Cursor address
            A  - Mask pattern

          
@@ 862,8 777,7 @@ Output   : HL - Cursor address
 
 
 <h3 id="STOREC">STOREC</h3>
-<pre>
-Address  : #0117
+<pre>Address  : #0117
 Function : Record current cursor addresses mask pattern
 Input    : HL - Cursor address
            A  - Mask pattern

          
@@ 871,36 785,31 @@ Input    : HL - Cursor address
 
 
 <h3 id="SETATR">SETATR</h3>
-<pre>
-Address  : #011A
+<pre>Address  : #011A
 Function : Set attribute byte
 </pre>
 
 
 <h3 id="READC">READC</h3>
-<pre>
-Address  : #011D
+<pre>Address  : #011D
 Function : Reads attribute byte of current screenpixel
 </pre>
 
 
 <h3 id="SETC">SETC</h3>
-<pre>
-Address  : #0120
+<pre>Address  : #0120
 Function : Returns currenct screenpixel of specificed attribute byte
 </pre>
 
 
 <h3 id="NSETCX">NSETCX</h3>
-<pre>
-Address  : #0123
+<pre>Address  : #0123
 Function : Set horizontal screenpixels
 </pre>
 
 
 <h3 id="GTASPC">GTASPC</h3>
-<pre>
-Address  : #0126
+<pre>Address  : #0126
 Function : Gets screen relations
 Output   : DE, HL
 Registers: DE, HL

          
@@ 908,22 817,19 @@ Registers: DE, HL
 
 
 <h3 id="PNTINI">PNTINI</h3>
-<pre>
-Address  : #0129
+<pre>Address  : #0129
 Function : Initalises the PAINT instruction
 </pre>
 
 
 <h3 id="SCANR">SCANR</h3>
-<pre>
-Address  : #012C
+<pre>Address  : #012C
 Function : Scans screenpixels to the right
 </pre>
 
 
 <h3 id="SCANL">SCANL</h3>
-<pre>
-Address  : #012F
+<pre>Address  : #012F
 Function : Scans screenpixels to the left
 </pre>
 

          
@@ 931,8 837,7 @@ Function : Scans screenpixels to the lef
 <h2>Misc routines</h2>
 
 <h3 id="CHGCAP">CHGCAP</h3>
-<pre>
-Address  : #0132
+<pre>Address  : #0132
 Function : Alternates the CAP lamp status
 Input    : A  - #00 is lamp on
             not #00 is lamp off

          
@@ 941,8 846,7 @@ Registers: AF
 
 
 <h3 id="CHGSND">CHGSND</h3>
-<pre>
-Address  : #0135
+<pre>Address  : #0135
 Function : Alternates the 1-bit sound port status
 Input    : A  - #00 to turn off
             not #00 to turn on

          
@@ 951,8 855,7 @@ Registers: AF
 
 
 <h3 id="RSLREG">RSLREG</h3>
-<pre>
-Address  : #0138
+<pre>Address  : #0138
 Function : Reads the primary slot register
 Output   : A  - for the value which was read
            33221100

          
@@ 965,16 868,14 @@ Registers: A
 
 
 <h3 id="WSLREG">WSLREG</h3>
-<pre>
-Address  : #013B
+<pre>Address  : #013B
 Function : Writes value to the primary slot register
 Input    : A  - value value to (see RSLREG)
 </pre>
 
 
 <h3 id="RDVDP">RDVDP</h3>
-<pre>
-Address  : #013E
+<pre>Address  : #013E
 Function : Reads VDP status register
 Output   : A  - Value which was read
 Registers: A

          
@@ 982,8 883,7 @@ Registers: A
 
 
 <h3 id="SNSMAT">SNSMAT</h3>
-<pre>
-Address  : #0141
+<pre>Address  : #0141
 Function : Returns the value of the specified line from the keyboard matrix
 Input    : A  - for the specified line
 Output   : A  - for data (the bit corresponding to the pressed key will be 0)

          
@@ 992,8 892,7 @@ Registers: AF
 
 
 <h3 id="PHYDIO">PHYDIO</h3>
-<pre>
-Address  : #0144
+<pre>Address  : #0144
 Function : Executes I/O for mass-storage media like diskettes
 Input    : F  - Set carry to write, reset carry to read
            A  - Drive number (0 = A:, 1 = B:, etc.)

          
@@ 1021,8 920,7 @@ Remark   : Interrupts may be disabled af
 
 
 <h3 id="FORMAT">FORMAT</h3>
-<pre>
-Address  : #0147
+<pre>Address  : #0147
 Function : Initialises mass-storage media like formatting of diskettes
 Registers: All
 Remark   : In minimum configuration only a HOOK is available

          
@@ 1030,8 928,7 @@ Remark   : In minimum configuration only
 
 
 <h3 id="ISFLIO">ISFLIO</h3>
-<pre>
-Address  : #014A
+<pre>Address  : #014A
 Function : Tests if I/O to device is taking place
 Output   : A  - #00 if not taking place
             not #00 if taking place

          
@@ 1040,8 937,7 @@ Registers: AF
 
 
 <h3 id="OUTDLP">OUTDLP</h3>
-<pre>
-Address  : #014D
+<pre>Address  : #014D
 Function : Printer output
 Input    : A  - code to print
 Registers: F

          
@@ 1054,8 950,7 @@ Remark   : Differences with LPTOUT:
 
 
 <h3 id="GETVCP">GETVCP</h3>
-<pre>
-Address  : #0150
+<pre>Address  : #0150
 Function : Returns pointer to play queue
 Input    : A  - Channel number
 Output   : HL - Pointer

          
@@ 1065,8 960,7 @@ Remark   : Only used to play music in ba
 
 
 <h3 id="GETVC2">GETVC2</h3>
-<pre>
-Address  : #0153
+<pre>Address  : #0153
 Function : Returns pointer to variable in queue number VOICEN (byte op #FB38)
 Input    : L  - Pointer in play buffer
 Output   : HL - Pointer

          
@@ 1075,16 969,14 @@ Registers: AF
 
 
 <h3 id="KILBUF">KILBUF</h3>
-<pre>
-Address  : #0156
+<pre>Address  : #0156
 Function : Clear keyboard buffer
 Registers: HL
 </pre>
 
 
 <h3 id="CALBAS">CALBAS</h3>
-<pre>
-Address  : #0159
+<pre>Address  : #0159
 Function : Executes inter-slot call to the routine in BASIC interpreter
 Input    : IX - for the calling address
 Output   : Depends on the called routine

          
@@ 1095,8 987,7 @@ Registers: Depends on the called routine
 <h1 id="msx2bios">MSX 2 BIOS Entries</h1>
 
 <h3 id="SUBROM">SUBROM</h3>
-<pre>
-Address  : #015C
+<pre>Address  : #015C
 Function : Calls a routine in SUB-ROM
 Input    : IX - Address of routine in SUB-ROM
 Output   : Depends on the routine

          
@@ 1108,8 999,7 @@ Remark   : Use of EXTROM or CALSLT is mo
 
 
 <h3 id="EXTROM">EXTROM</h3>
-<pre>
-Address  : #015F
+<pre>Address  : #015F
 Function : Calls a routine in SUB-ROM. Most common way
 Input    : IX - Address of routine in SUB-ROM
 Output   : Depends on the routine

          
@@ 1120,16 1010,14 @@ Remark   : Use: LD IX,address
 
 
 <h3 id="CHKSLZ">CHKSLZ</h3>
-<pre>
-Address  : #0162
+<pre>Address  : #0162
 Function : Search slots for SUB-ROM
 Registers: Alles
 </pre>
 
 
 <h3 id="CHKNEW">CHKNEW</h3>
-<pre>
-Address  : #0165
+<pre>Address  : #0165
 Function : Tests screen mode
 Output   : C-flag set if screenmode = 5, 6, 7 or 8 
 Registers: AF

          
@@ 1137,8 1025,7 @@ Registers: AF
 
 
 <h3 id="EOL">EOL</h3>
-<pre>
-Address  : #0168
+<pre>Address  : #0168
 Function : Deletes to the end of the line
 Input    : H  - x-coordinate of cursor
            L  - y-coordinate of cursor

          
@@ 1147,8 1034,7 @@ Registers: All
 
 
 <h3 id="BIGFIL">BIGFIL</h3>
-<pre>
-Address  : #016B
+<pre>Address  : #016B
 Function : Same function as FILVRM (total VRAM can be reached).
 Input    : HL - address
            BC - length

          
@@ 1158,8 1044,7 @@ Registers: AF,BC
 
 
 <h3 id="NSETRD">NSETRD</h3>
-<pre>
-Address  : #016E
+<pre>Address  : #016E
 Function : Same function as SETRD.(with full 16 bits VRAM-address)
 Input    : HL - VRAM address
 Registers: AF

          
@@ 1167,8 1052,7 @@ Registers: AF
 
 
 <h3 id="NSTWRT">NSTWRT</h3>
-<pre>
-Address  : #0171
+<pre>Address  : #0171
 Function : Same function as SETWRT.(with full 16 bits VRAM-address)
 Input    : HL - VRAM address
 Registers: AF

          
@@ 1176,8 1060,7 @@ Registers: AF
 
 
 <h3 id="NRDVRM">NRDVRM</h3>
-<pre>
-Address  : #0174
+<pre>Address  : #0174
 Function : Reads VRAM like in RDVRM.(with full 16 bits VRAM-address)
 Input    : HL - VRAM address
 Output   : A  - Read value

          
@@ 1186,8 1069,7 @@ Registers: F
 
 
 <h3 id="NWRVRM">NWRVRM</h3>
-<pre>
-Address  : #0177
+<pre>Address  : #0177
 Function : Writes to VRAM like in WRTVRM.(with full 16 bits VRAM-address)
 Input    : HL - VRAM address
            A  - Value to write

          
@@ 1199,8 1081,7 @@ Registers: AF
 <h1 id="msx2pbios">MSX 2+ BIOS Entries</h1>
 
 <h3 id="RDBTST">RDBTST</h3>
-<pre>
-Address  : #017A
+<pre>Address  : #017A
 Function : Read value of I/O poort #F4
 Input    : none
 Output   : A = value read

          
@@ 1209,8 1090,7 @@ Registers: AF
 
 
 <h3 id="WRBTST">WRBTST</h3>
-<pre>
-Address  : #017D
+<pre>Address  : #017D
 Function : Write value to I/O poort #F4
 Input    : A = value to write
            Bit 7 shows the MSX 2+ startup screen when reset, otherwise it's skipped.

          
@@ 1223,8 1103,7 @@ Registers: none
 <h1 id="msxtrbios">MSX turbo R BIOS Entries</h1>
 
 <h3 id="CHGCPU">CHGCPU</h3>
-<pre>
-Address  : #0180
+<pre>Address  : #0180
 Function : Changes CPU mode
 Input    : A = LED 0 0 0 0 0 x x
                 |            0 0 = Z80 (ROM) mode

          
@@ 1237,8 1116,7 @@ Registers: none
 
 
 <h3 id="GETCPU">GETCPU</h3>
-<pre>
-Address  : #0183
+<pre>Address  : #0183
 Function : Returns current CPU mode
 Input    : none
 Output   : A = 0 0 0 0 0 0 x x

          
@@ 1250,8 1128,7 @@ Registers: AF
 
 
 <h3 id="PCMPLY">PCMPLY</h3>
-<pre>
-Address  : #0186
+<pre>Address  : #0186
 Function : Plays specified memory area through the PCM chip
 Input    : A = v 0 0 0 0 0 x x
                |           | |

          
@@ 1267,8 1144,7 @@ Registers: all
 
 
 <h3 id="PCMREC">PCMREC</h3>
-<pre>
-Address  : #0189
+<pre>Address  : #0189
 Function : Records audio using the PCM chip into the specified memory area
 Input    : A = v t t t t c x x
                | | | | | | | |

          
M resources/msxsystemvars.php +4 -8
@@ 55,8 55,7 @@ 
   <td>#002B</td>
   <td>1</td>
   <td>Basic ROM version
-<pre>
-7 6 5 4 3 2 1 0
+<pre>7 6 5 4 3 2 1 0
 │ │ │ │ └─┴─┴─┴── Character set
 │ │ │ │           0 = Japanese, 1 = International, 2=Korean
 │ └─┴─┴────────── Date format

          
@@ 71,8 70,7 @@ 7 6 5 4 3 2 1 0
   <td>#002C</td>
   <td>1</td>
   <td>Basic ROM version
-<pre>
-7 6 5 4 3 2 1 0
+<pre>7 6 5 4 3 2 1 0
 │ │ │ │ └─┴─┴─┴── Keyboard type
 │ │ │ │           0 = Japanese, 1 = International
 │ │ │ │           2 = French (AZERTY), 3 = UK, 4 = German (DIN)

          
@@ 582,8 580,7 @@ 7 6 5 4 3 2 1 0
   <td>#F3E8</td>
   <td>1</td>
   <td>Information about trigger buttons and space bar state
-<pre>
-7 6 5 4 3 2 1 0
+<pre>7 6 5 4 3 2 1 0
 │ │ │ │       └── Space bar, trig(0) (0 = pressed)
 │ │ │ └────────── Stick 1, Trigger 1 (0 = pressed)
 │ │ └──────────── Stick 1, Trigger 2 (0 = pressed)

          
@@ 1131,8 1128,7 @@ 7 6 5 4 3 2 1 0
   <td>1</td>
   <td>
     <p>Secondary slot select register, if the slot is expanded.</p>
-<pre>
-7 6 5 4 3 2 1 0
+<pre>7 6 5 4 3 2 1 0
 │ │ │ │ │ │ └─┴── Secondary slot for page 0 (#0000-#3FFF)
 │ │ │ │ └─┴────── Secondary slot for page 1 (#4000-#7FFF)
 │ │ └─┴────────── Secondary slot for page 2 (#8000-#BFFF)

          
M resources/subrom.php +88 -176
@@ 16,8 16,7 @@ 
 
 
 <h3 id="PAINT">PAINT (Basic!)</h3>
-<pre>
-Address  : #0069
+<pre>Address  : #0069
 Function : Paints graphical screen
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 26,8 25,7 @@ Registers: All
 
 
 <h3 id="PSET">PSET (Basic!) </h3>
-<pre>
-Address  : #006D
+<pre>Address  : #006D
 Function : Sets a point
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 36,8 34,7 @@ Registers: All
 
 
 <h3 id="ATRSCN">ATRSCN (Basic!)</h3>
-<pre>
-Address  : #0071
+<pre>Address  : #0071
 Function : Scans color attribute
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 46,8 43,7 @@ Registers: All
 
 
 <h3 id="GLINE">GLINE (Basic!)</h3>
-<pre>
-Address  : #0075
+<pre>Address  : #0075
 Function : Draws a line
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 56,8 52,7 @@ Registers: All
 
 
 <h3 id="DOBOXF">DOBOXF (Basic!)</h3>
-<pre>
-Address  : #0079
+<pre>Address  : #0079
 Function : Draws a filled box
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 66,8 61,7 @@ Registers: All
 
 
 <h3 id="DOLINE">DOLINE (Basic!)</h3>
-<pre>
-Address  : #007D
+<pre>Address  : #007D
 Function : Draws a line
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 76,8 70,7 @@ Registers: All
 
 
 <h3 id="BOXLIN">BOXLIN (Basic!)</h3>
-<pre>
-Address  : #0081
+<pre>Address  : #0081
 Function : Draws a box
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 86,8 79,7 @@ Registers: All
 
 
 <h3 id="DOGRPH">DOGRPH</h3>
-<pre>
-Address  : #0085
+<pre>Address  : #0085
 Function : Draws a line
 Input    : BC, HL are start coordinates
            GXPOS, GYPOS are end-coordinates

          
@@ 98,8 90,7 @@ Registers: AF
 
 
 <h3 id="GRPPRT">GRPPRT</h3>
-<pre>
-Address  : #0089
+<pre>Address  : #0089
 Function : Places a character on graphic screen
 Input    : A  - Character
            ATRBYT for attribute

          
@@ 108,8 99,7 @@ Input    : A  - Character
 
 
 <h3 id="SCALXY">SCALXY</h3>
-<pre>
-Address  : #008D
+<pre>Address  : #008D
 Function : Clip coordinates (till border of screen)
 Input    : BC - X-position
            DE - Y-position

          
@@ 120,8 110,7 @@ Registers: AF
 
 
 <h3 id="MAPXYC">MAPXYC</h3>
-<pre>
-Address  : #0091
+<pre>Address  : #0091
 Function : Converts an X,Y position to an address: and mask in CLOC and CMASK
 Input    : BC - X-position
            DE - Y-position

          
@@ 134,8 123,7 @@ Registers: F
 
 
 <h3 id="READC">READC</h3>
-<pre>
-Address  : #0095
+<pre>Address  : #0095
 Function : Reads attribute of pixel
 Input    : X-position in CLOC
            Y-position in CMASK

          
@@ 145,8 133,7 @@ Registers: AF
 
 
 <h3 id="SETATR">SETATR</h3>
-<pre>
-Address  : #0099
+<pre>Address  : #0099
 Function : Set attribute in ATRBYT
 Input    : A  - attribute
 Output   : C-flag set if attribute is wrong

          
@@ 155,8 142,7 @@ Registers: F
 
 
 <h3 id="SETC">SETC</h3>
-<pre>
-Address  : #009D
+<pre>Address  : #009D
 Function : Set attribute of pixel
 Input    : X-position in CLOC
            Y-position in CMASK

          
@@ 166,8 152,7 @@ Registers: AF
 
 
 <h3 id="TRIGHT">TRIGHT</h3>
-<pre>
-Address  : #00A1
+<pre>Address  : #00A1
 Function : Moves pixel to the right
 Input    : X-position in CLOC
            Yposition in CMASK

          
@@ 180,8 165,7 @@ Remark   : SCREEN 3 only
 
 
 <h3 id="RIGHTC">RIGHTC</h3>
-<pre>
-Address  : #00A5
+<pre>Address  : #00A5
 Function : Moves pixel to the right
 Input    : See TRIGHT
 Output   : See TRIGHT (except for the C-flag remark)

          
@@ 191,8 175,7 @@ Remark   : SCREEN 3 only
 
 
 <h3 id="TLEFTC">TLEFTC</h3>
-<pre>
-Address  : #00A9
+<pre>Address  : #00A9
 Function : Moves pixel to the left
 Input    : See TRIGHT
 Output   : See TRIGHT

          
@@ 201,8 184,7 @@ Registers: AF
 
 
 <h3 id="LEFTC">LEFTC</h3>
-<pre>
-Address  : #00AD
+<pre>Address  : #00AD
 Function : Moves pixel to the left
 Input    : See RIGHTC
 Output   : See RIGHTC

          
@@ 212,8 194,7 @@ Remark   : SCREEN 3 only
 
 
 <h3 id="TDOWNC">TDOWNC</h3>
-<pre>
-Address  : #00B1
+<pre>Address  : #00B1
 Function : Moves pixel down
 Input    : See TRIGHT
 Output   : See TRIGHT

          
@@ 222,8 203,7 @@ Registers: AF
 
 
 <h3 id="DOWNC">DOWNC</h3>
-<pre>
-Address  : #00B5
+<pre>Address  : #00B5
 Function : Moves pixel down
 Input    : See RIGHTC
 Output   : See RIGHTC

          
@@ 233,8 213,7 @@ Remark   : SCREEN 3 only
 
 
 <h3 id="TUPC">TUPC</h3>
-<pre>
-Address  : #00B9
+<pre>Address  : #00B9
 Function : Moves pixel up
 Input    : See TRIGHT
 Output   : See TRIGHT

          
@@ 243,8 222,7 @@ Registers: AF
 
 
 <h3 id="UPC">UPC</h3>
-<pre>
-Address  : #00BD
+<pre>Address  : #00BD
 Function : Moves pixel up
 Input    : See RIGHTC
 Output   : See RIGHTC

          
@@ 254,8 232,7 @@ Remark   : SCREEN 3 only
 
 
 <h3 id="SCANR">SCANR</h3>
-<pre>
-Address  : #00C1
+<pre>Address  : #00C1
 Function : Scans pixels to the right
 Input    : B  - 'Suspend'-flag
            C  - Border-counting

          
@@ 266,8 243,7 @@ Registers: All
 
 
 <h3 id="SCANL">SCANL</h3>
-<pre>
-Address  : #00C5
+<pre>Address  : #00C5
 Function : Scans pixels to the left
 Input    : DE - Border-counting
 Output   : DE - Border-counting

          
@@ 277,8 253,7 @@ Registers: All
 
 
 <h3 id="NVBXLN">NVBXLN</h3>
-<pre>
-Address  : #00C9
+<pre>Address  : #00C9
 Function : Draws a box
 Input    : BC - X start-position
            DE - Y-start-position

          
@@ 291,8 266,7 @@ Registers: All
 
 
 <h3 id="NVBXFL">NVBXFL </h3>
-<pre>
-Address  : #00CD
+<pre>Address  : #00CD
 Function : Draws a filled box
 Input    : See NVBXLN
 Registers: All

          
@@ 305,92 279,79 @@ Registers: All
 
 
 <h3 id="CHGMOD">CHGMOD</h3>
-<pre>
-Address  : #00D1
+<pre>Address  : #00D1
 Function : Switches to given screenmode
 </pre>
 
 
 <h3 id="INITXT">INITXT</h3>
-<pre>
-Address  : #00D5
+<pre>Address  : #00D5
 Function : Switches to SCREEN 0
 </pre>
 
 
 <h3 id="INIT32">INIT32</h3>
-<pre>
-Address  : #00D9
+<pre>Address  : #00D9
 Function : Switches to SCREEN 1
 </pre>
 
 
 <h3 id="INIGRP">INIGRP</h3>
-<pre>
-Address  : #00DD
+<pre>Address  : #00DD
 Function : Switches to SCREEN 2
 </pre>
 
 
 <h3 id="INIMLT">INIMLT</h3>
-<pre>
-Address  : #00E1
+<pre>Address  : #00E1
 Function : Switches to SCREEN 3
 </pre>
 
 
 <h3 id="SETTXT">SETTXT</h3>
-<pre>
-Address  : #00E5
+<pre>Address  : #00E5
 Function : Switches VDP in SCREEN 0
 </pre>
 
 
 <h3 id="SETT32">SETT32</h3>
-<pre>
-Address  : #00E9
+<pre>Address  : #00E9
 Function : Switches VDP in SCREEN 1
 </pre>
 
 
 <h3 id="SETGRP">SETGRP</h3>
-<pre>
-Address  : #00ED
+<pre>Address  : #00ED
 Function : Switches VDP in SCREEN 2
 </pre>
 
 
 <h3 id="SETMLT">SETMLT</h3>
-<pre>
-Address  : #00F1
+<pre>Address  : #00F1
 Function : Switches VDP in SCREEN 3
 </pre>
 
 
 <h3 id="CLRSPR">CLRSPR</h3>
-<pre>
-Address  : #00F5
+<pre>Address  : #00F5
 Function : Initialises sprite tables
 </pre>
 
 
 <h3 id="CALPAT">CALPAT</h3>
-<pre>
-Address  : #00F9
+<pre>Address  : #00F9
 Function : Returns address of sprite pattern-table
 </pre>
 
 
 <h3 id="CALATR">CALATR</h3>
-<pre>
-Address  : #00FD
+<pre>Address  : #00FD
 Function : Returns address of sprite attribute-table
 </pre>
 
 
 <h3 id="GSPSIZ">GSPSIZ</h3>
-<pre>
-Address  : #0101
+<pre>Address  : #0101
 Function : Returns current sprite-size
 </pre>
 

          
@@ 398,8 359,7 @@ Function : Returns current sprite-size
 <h2>MSX 2 specific calls</h2>
 
 <h3 id="GETPAT">GETPAT</h3>
-<pre>
-Address  : #0105
+<pre>Address  : #0105
 Function : Returns current pattern of a character
 Input    : A  - ASCII code of character
 Output   : Pattern in PATWRK starting from address #FC40

          
@@ 410,8 370,7 @@ Remark   : Same as routine in MSX1-BIOS,
 
 
 <h3 id="WTRVRM">WTRVRM</h3>
-<pre>
-Address  : #0109
+<pre>Address  : #0109
 Function : Writes data in VRAM (#0000 - #ffff)
 Input    : HL - Address
            A  - Value

          
@@ 420,8 379,7 @@ Registers: AF
 
 
 <h3 id="RDVRM">RDVRM</h3>
-<pre>
-Address  : #010D
+<pre>Address  : #010D
 Function : Reads content in VRAM (#0000 - #ffff)
 Input    : HL - Address
 Output   : A  - Read value

          
@@ 430,8 388,7 @@ Registers: AF
 
 
 <h3 id="CHGCLR">CHGCLR</h3>
-<pre>
-Address  : #0111
+<pre>Address  : #0111
 Function : Changes screen colors
 Input    : A  - Screenmode
            See MSX1BIOS.HTM (CHGCLR)  

          
@@ 440,32 397,28 @@ Registers: All
 
 
 <h3 id="CLS">CLS</h3>
-<pre>
-Address  : #0115
+<pre>Address  : #0115
 Function : Clear screen
 Registers: All
 </pre>
 
 
 <h3 id="CLRTXT">CLRTXT</h3>
-<pre>
-Address  : #0119
+<pre>Address  : #0119
 Function : Clear Text-screen
 Registers: All
 </pre>
 
 
 <h3 id="DSPFNK">DSPFNK</h3>
-<pre>
-Address  : #011D
+<pre>Address  : #011D
 Function : Display the function keys
 Registers: All
 </pre>
 
 
 <h3 id="DELLNO">DELLNO</h3>
-<pre>
-Address  : #0121
+<pre>Address  : #0121
 Function : Remove line in text screen
 Input    : L  - Line Number
 Registers: All

          
@@ 473,8 426,7 @@ Registers: All
 
 
 <h3 id="INSLNO">INSLNO</h3>
-<pre>
-Address  : #0125
+<pre>Address  : #0125
 Function : Add line to text screen
 Input    : L  - Line Number
 Registers: All

          
@@ 482,8 434,7 @@ Registers: All
 
 
 <h3 id="PUTVRM">PUTVRM</h3>
-<pre>
-Address  : #0129
+<pre>Address  : #0129
 Function : Put character on text screen
 Input    : H  - Y-position
            L  - X-position

          
@@ 492,8 443,7 @@ Registers: AF
 
 
 <h3 id="WRTVDP">WRTVDP</h3>
-<pre>
-Address  : #012D
+<pre>Address  : #012D
 Function : Write to VDP-register
 Input    : B  - Value to write
            C  - Register number

          
@@ 502,8 452,7 @@ Registers: AF, BC
 
 
 <h3 id="VDPSTA">VDPSTA</h3>
-<pre>
-Address  : #0131
+<pre>Address  : #0131
 Function : Read VDP-status
 Input    : A  - Status register
 Output   : A  - Read value

          
@@ 512,16 461,14 @@ Registers: F
 
 
 <h3 id="KYKLOK">KYKLOK</h3>
-<pre>
-Address  : #0135
+<pre>Address  : #0135
 Function : Control KANA-key and KANA-lamp (Japan)
 Registers: AF
 </pre>
 
 
 <h3 id="PUTCHR">PUTCHR</h3>
-<pre>
-Address  : #0139
+<pre>Address  : #0139
 Function : Gets a key-code of keyboard, conversion to KANA and in
            buffer (Japan)
 Input    : Z-flag set if not in conversion mode

          
@@ 530,8 477,7 @@ Registers: All
 
 
 <h3 id="SETPAG">SETPAG</h3>
-<pre>
-Address  : #013D
+<pre>Address  : #013D
 Function : Switches the page
 Input    : ACPAGE - Active page
            DPPAGE - display page number

          
@@ 542,24 488,21 @@ Registers: AF
 <h2>Palette-functions</h2>
 
 <h3 id="INIPLT">INIPLT</h3>
-<pre>
-Address  : #0141
+<pre>Address  : #0141
 Function : Initialises the palette (current palet is save in VRAM)
 Registers: AF, BC, DE
 </pre>
 
 
 <h3 id="RSTPLT">RSTPLT</h3>
-<pre>
-Address  : #0145
+<pre>Address  : #0145
 Function : Restores palette from VRAM
 Registers: AF, BC, DE
 </pre>
 
 
 <h3 id="GETPLT">GETPLT</h3>
-<pre>
-Address  : #0149
+<pre>Address  : #0149
 Function : Obtains the colorcodes from the palette
 Input    : A  - Colorcode
 Output   : B  - RRRRBBBB

          
@@ 569,8 512,7 @@ Registers: AF, DE
 
 
 <h3 id="SETPLT">SETPLT</h3>
-<pre>
-Address  : #014D
+<pre>Address  : #014D
 Function : Sets the color code to the palette
 Input    : D  - Colorcode
            E  - xxxxGGGG

          
@@ 580,8 522,7 @@ Registers: AF
 
 
 <h3 id="PUTSPRT">PUTSPRT (Basic!)</h3>
-<pre>
-Address  : #0151
+<pre>Address  : #0151
 Function : Set sprites
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 590,8 531,7 @@ Registers: All
 
 
 <h3 id="COLOR">COLOR (Basic!)</h3>
-<pre>
-Address  : #0155
+<pre>Address  : #0155
 Function : Changes Screen- or spritecolor, or palettevalues
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 600,8 540,7 @@ Registers: All
 
 
 <h3 id="SCREEN">SCREEN (Basic!)</h3>
-<pre>
-Address  : #0159
+<pre>Address  : #0159
 Function : Changes screenmode
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 610,8 549,7 @@ Registers: All
 
 
 <h3 id="WIDTHS">WIDTHS (Basic!)</h3>
-<pre>
-Address  : #015D
+<pre>Address  : #015D
 Function : Changes textscreen-width
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 620,8 558,7 @@ Registers: All
 
 
 <h3 id="VDP">VDP (Basic!)</h3>
-<pre>
-Address  : #0161
+<pre>Address  : #0161
 Function : Sets VDP-register
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 630,8 567,7 @@ Registers: All
 
 
 <h3 id="VDPF">VDPF (Basic!)</h3>
-<pre>
-Address  : #0165
+<pre>Address  : #0165
 Function : Reads VDP-register
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 640,8 576,7 @@ Registers: All
 
 
 <h3 id="BASE">BASE (Basic!)</h3>
-<pre>
-Address  : #0169
+<pre>Address  : #0169
 Function : Sets VDP base-register
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 650,8 585,7 @@ Registers: All
 
 
 <h3 id="BASEF">BASEF (Basic!)</h3>
-<pre>
-Address  : #016D
+<pre>Address  : #016D
 Function : Reads VDP base-register
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 660,8 594,7 @@ Registers: All
 
 
 <h3 id="VPOKE">VPOKE (Basic!)</h3>
-<pre>
-Address  : #0171
+<pre>Address  : #0171
 Function : Writes a byte to VRAM
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 670,8 603,7 @@ Registers: All
 
 
 <h3 id="VPEEK">VPEEK (Basic!)</h3>
-<pre>
-Address  : #0175
+<pre>Address  : #0175
 Function : Reads a byte from VRAM
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 680,8 612,7 @@ Registers: All
 
 
 <h3 id="SETS">SETS (Basic!)</h3>
-<pre>
-Address  : #0179
+<pre>Address  : #0179
 Function : Sets BEEP, ADJUST, TIME and DATE
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 690,24 621,21 @@ Registers: All
 
 
 <h3 id="BEEP">BEEP</h3>
-<pre>
-Address  : #017D
+<pre>Address  : #017D
 Function : Generates beep
 Registers: All
 </pre>
 
 
 <h3 id="PROMPT">PROMPT</h3>
-<pre>
-Address  : #0181
+<pre>Address  : #0181
 Function : Shows prompt (default: “Ok”)
 Registers: All
 </pre>
 
 
 <h3 id="SDFSCR">SDFSCR</h3>
-<pre>
-Address  : #0185
+<pre>Address  : #0185
 Function : Recovers screen-parameters of clock-chip. When C-flag is set
            function-key text will be displayd
 Input    : C-flag reset after MSX-DOS call

          
@@ 716,16 644,14 @@ Registers: All
 
 
 <h3 id="SETSCR">SETSCR</h3>
-<pre>
-Address  : #0189
+<pre>Address  : #0189
 Function : Recovers screen-parameter and prints Welcome message
 Registers: All
 </pre>
 
 
 <h3 id="SCOPY">SCOPY (Basic!)</h3>
-<pre>
-Address  : #018D
+<pre>Address  : #018D
 Function : Copy's VRAM, array and disk-file
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 739,8 665,7 @@ Registers: All
 
 
 <h3 id="BLTVV">BLTVV</h3>
-<pre>
-Address  : #0191
+<pre>Address  : #0191
 Function : Copy VRAM to VRAM
 Input    : SX, SY, DX, DY, NX, NY, ARG, L_OP
 Registers: All

          
@@ 748,8 673,7 @@ Registers: All
 
 
 <h3 id="BLTVM">BLTVM</h3>
-<pre>
-Address  : #0195
+<pre>Address  : #0195
 Function : Copy Main-RAM to VRAM
 Input    : SX - Address of screendata in RAM
            DX, DY, ARG, L_OP. NX and NY must be in screendata

          
@@ 759,8 683,7 @@ Registers: All
 
 
 <h3 id="BLTMV">BLTMV</h3>
-<pre>
-Address  : #0199
+<pre>Address  : #0199
 Function : Copy VRAM to Main-RAM
 Input    : DX - Address of screendata in RAM
            SX, SY, ARG, L_OP. NX and NY must be in screendata

          
@@ 769,8 692,7 @@ Registers: All
 
 
 <h3 id="BLTVD">BLTVD</h3>
-<pre>
-Address  : #019D
+<pre>Address  : #019D
 Function : Copy Diskfile to VRAM
 Input    : SX -Address  of filenaam.
            SX, SY, ARG, L_OP. NX and NY must be in diskfile

          
@@ 779,8 701,7 @@ Registers: All
 
 
 <h3 id="BLTDV">BLTDV</h3>
-<pre>
-Address  : #01A1
+<pre>Address  : #01A1
 Function : Copy VRAM to Diskfile
 Input    : DX - Address of filenaam.
            SX, SY, NX, NY,ARG

          
@@ 789,8 710,7 @@ Registers: All
 
 
 <h3 id="BLTMD">BLTMD</h3>
-<pre>
-Address  : #01A5
+<pre>Address  : #01A5
 Function : Copy Diskfile to Main-RAM
 Input    : SX - Address of filenaam.
            DX - start-address

          
@@ 800,8 720,7 @@ Registers: All
 
 
 <h3 id="BLTDM">BLTDM</h3>
-<pre>
-Address  : #01A9
+<pre>Address  : #01A9
 Function : Copy Main-RAM to Diskfile
 Input    : DX - Address of filenaam.
            SX - start-address

          
@@ 811,8 730,7 @@ Registers: All
 
 
 <h3 id="NEWPAD">NEWPAD</h3>
-<pre>
-Address  : #01AD
+<pre>Address  : #01AD
 Function : Read light pen, mouse and trackball
 Input    : A  - Function call number. Fetch device data first, then read.
 

          
@@ 844,8 762,7 @@ Remark   : Access via <a href="msxbios.p
 
 
 <h3 id="GETPUT">GETPUT (Basic!)</h3>
-<pre>
-Address  : #01B1
+<pre>Address  : #01B1
 Function : GET TIME, GET DATE and PUT KANJI
 Input    : HL - Basic textpointer
 Output   : HL - Adapted Basic textpointer

          
@@ 854,8 771,7 @@ Registers: All
 
 
 <h3 id="CHGMDP">CHGMDP</h3>
-<pre>
-Address  : #01B5
+<pre>Address  : #01B5
 Function : sets SCREEN-mode
 Input    : A  - SCREEN-mode
 Registers: All

          
@@ 863,15 779,13 @@ Registers: All
 
 
 <h3 id="RESVI">RESVI</h3>
-<pre>
-Address  : #01B9
+<pre>Address  : #01B9
 Function : Not used... Reserve entry
 </pre>
 
 
 <h3 id="KNJPRT">KNJPRT</h3>
-<pre>
-Address  : #01BD
+<pre>Address  : #01BD
 Function : Puts Kanji-character on graphical screen (5-8)
 Input    : BC - JIS Kanji-character code
            A  - Display-mode (0=full, 1=even, 2=odd)

          
@@ 880,8 794,7 @@ Registers: AF
 
 
 <h3 id="REDCLK">REDCLK</h3>
-<pre>
-Address  : #01F5
+<pre>Address  : #01F5
 Function : Read clock-RAM
 Input    : C  - clock-RAM address
                 xxBBAAAA

          
@@ 893,8 806,7 @@ Registers: F
 
 
 <h3 id="WRTCLK">WRTCLK</h3>
-<pre>
-Address  : #01F9
+<pre>Address  : #01F9
 Function : Write clock-RAM
 Input    : C  - clock-RAM address
                 xxBBAAAA

          
M resources/tsrdev_en.php +9 -18
@@ 695,8 695,7 @@ Out:      HL = Segment code (0000 = no f
 
 <p>Segment preferrence code overview (register B):</p>
 
-<pre>
-Bit 7 6 5 4 3 2 1 0
+<pre>Bit 7 6 5 4 3 2 1 0
     ^ ^ ^ ^ ^ ^ ^ ^
     | | | | | | | |
     | | | | | | +-+-- Segment Type. 00 = PSEG0000

          
@@ 996,8 995,7 @@ Out:      HL = Length of the largest fre
 
 <p>When there is no source available, it is still possible to change the stack address of a Turbo Pascal program by means of a debugger. The initialization of a Turbo Pascal-program looks like this:</p>
 
-<pre>
-START:   JP INIT
+<pre>START:   JP INIT
          ...
          ...
 INIT:    LD SP,#100

          
@@ 1045,8 1043,7 @@ Some programs however bend the hooks by using an RST 30H instruction, in other words, an interslot call. The interslot call routine places several data on the stack. When the program subsequently calls the hook which was installed by MemMan, the stack will be polluted by the interslot call with which the application was called. Such programs can’t be used in combination with TSRs which require a ‘clean’ stack.</p>
 
 <p>A TSR may only be left by jumping back to the TSR manager. Upon return to the manager after a hook-call a value needs to be placed in the shadow-register A'. The function of this is as follows:</p>
 
-<pre>
-Bit   Name      Function
+<pre>Bit   Name      Function
  0    QuitHook  1 = Stop hook-processing
 1..7  Reserved  Always 0
 </pre>

          
@@ 1061,8 1058,7 @@ In case the TSR however DID recognize an
 
 <p>Say for exemple a TSR routine is linked to the interrupt-hook H.TIMI. This routine’s function is to increase a counter every interrupt. It could look like this:</p>
 
-<pre>
-INTTSR:  EI              ;This is the routine which increases
+<pre>INTTSR:  EI              ;This is the routine which increases
          LD HL,COUNT     ; a counter
          INC (HL)
 

          
@@ 1080,8 1076,7 @@ INTTSR:  EI              ;This is the ro
 
 <p>Say that a TSR is linked to the hook H.CHPUT. The BIOS routine CHPUT - which calls the hook H.CHPU - looks as follows:</p>
 
-<pre>
-CHPUT:   PUSH HL         ;Save data registers
+<pre>CHPUT:   PUSH HL         ;Save data registers
          PUSH DE
          PUSH BC
          PUSH AF

          
@@ 1091,8 1086,7 @@ CHPUT:   PUSH HL         ;Save data regi
 
 <p>When the H.CHPU hook is called, the stack which MemMan passes to the TSR will look as follows:</p>
 
-<pre>
-	(SP+0) = Return address to the TsrManager
+<pre>	(SP+0) = Return address to the TsrManager
 	(SP+2) = Return address to the BIOS
 	(SP+4) = AF
 	(SP+6) = BC

          
@@ 1104,8 1098,7 @@ CHPUT:   PUSH HL         ;Save data regi
 
 <p>When after execution of the TSR it directly needs to return to the application which the CHPUT routine called, the registers placed on the stack aswell as the return address to the BIOS must be removed from the stack. The return address to MemMan however needs to be retained. To do this you can put the following routine in the TSR:</p>
 
-<pre>
-CHARTSR: EI             ;This is the routine processing the H.CHPU call
+<pre>CHARTSR: EI             ;This is the routine processing the H.CHPU call
          ...
          ...
          ...

          
@@ 1214,8 1207,7 @@ The specifications of the BasicCall func
 
 <p>Every TSR listing is therefor supposed to start with the header table. The contents of this table is as follows:</p>
 
-<pre>
-	defb 'MST TSR',13,10	;TSR file ID
+<pre>	defb 'MST TSR',13,10	;TSR file ID
 	defb 'MSTs TSRname'	;TSR naam
 	defb 26			;End of text mark
 	defw 0002		;Versie nummer voor TsrLoad

          
@@ 1258,8 1250,7 @@ Is called during the installation of the
 
 <p>After calling the initroutine must return a flag in register A. The definition of this flag register is as follows:</p>
 
-<pre>
-Bit   Function
+<pre>Bit   Function
  0    0 = Initialization succeeded
       1 = Initialization failed
  1    0 = No intro text

          
M resources/video/v9938/v9938.xhtml +117 -234
@@ 435,8 435,7 @@ read the data through Port #1.</p>
 connected to the MSX-VIDEO. The memory maps for these cases are shown
 in the map below.</p>
 
-<pre>
-                            Address counter
+<pre>                            Address counter
 
             ┌─────────┐         1FFFFH
             │         │            │

          
@@ 817,8 816,7 @@ you must mask the unwanted bits.</p>
 <p>The color registers are used to control the MSX-VIDEO's text and
 background screen colors as well as blinking, etc.</p>
 
-<pre>
-       MSB  7   6   5   4   3   2   1   0  LSB
+<pre>       MSB  7   6   5   4   3   2   1   0  LSB
           ┌───┬───┬───┬───┬───┬───┬───┬───┐
    R#7    │TC3│TC2│TC1│TC0│BD3│BD2│BD1│BD0│ Text color/Back drop
           └───┴───┴───┴───┴───┴───┴───┴───┘ color register

          
@@ 849,8 847,7 @@ background screen colors as well as blin
 <p>In TEXT 2 mode, if the attributes for blinking are set, the color set
 in this register and set in R#7 are displayed alternately.</p>
 
-<pre>
-            T23 to T20:  Specifies the color of part 1 of the pattern.
+<pre>            T23 to T20:  Specifies the color of part 1 of the pattern.
             BC3 to BC0:  Specifies the color of part 0 of the pattern.
 </pre>
 

          
@@ 872,8 869,7 @@ alternately displayed (blinked). Place d
 the display page to an odd page to begin blinking. This register is
 also used in the TEXT2 mode.</p>
 
-<pre>
-            ON3 to ON0:  Display time for even page
+<pre>            ON3 to ON0:  Display time for even page
             OF3 to OF0:  Display time for odd page
 </pre>
 

          
@@ 928,8 924,7 @@ CRT.</p>
 
 <p>The above register is used to adjust the display position on the CRT.</p>
 
-<pre>
-     H = 7 . . . H = 1,  H = 0, H = 15 . . . H = 8
+<pre>     H = 7 . . . H = 1,  H = 0, H = 15 . . . H = 8
      (Left)            (Center)             (Right)
 
      V = 8 . . . V = 15, V = 0, V = 1  . . . V = 7

          
@@ 959,8 954,7 @@ the sprites are disabled will result in 
 <p>The above register sets the location of the line to begin display.</p>
 
 
-<pre>
-                 VRAM (Line)
+<pre>                 VRAM (Line)
 
           TOP  ┌────────────┐ 0
                │            │

          
@@ 1080,8 1074,7 @@ palette in the Color palette address reg
 access another register. In addition, according to the setting of the
 AII bit, the data van be automatically incremented.</p>
 
-<pre>
-    AII = 1:  Auto increment disabled
+<pre>    AII = 1:  Auto increment disabled
     AII = 0:  Auto increment enabled
 </pre>
 

          
@@ 1092,8 1085,7 @@ AII bit, the data van be automatically i
 the MSX-VIDEO. Details on the use of these command registers will be
 presented in a later chapter.</p>
 
-<pre>
-    MSB  7   6   5   4   3   2   1   0  LSB
+<pre>    MSB  7   6   5   4   3   2   1   0  LSB
        ┌───┬───┬───┬───┬───┬───┬───┬───┐
   R#32 │SX7│SX6│SX5│SX4│SX3│SX2│SX1│SX0│ Source X low register
        ╞═══╪═══╪═══╪═══╪═══╪═══╪═══╪═══╡

          
@@ 1139,8 1131,7 @@ presented in a later chapter.</p>
 <p>The following status registers are read-only registers for reporting
 the status when the MSX-VIDEO is read.</p>
 
-<pre>
-       MSB  7   6   5   4   3   2   1   0  LSB
+<pre>       MSB  7   6   5   4   3   2   1   0  LSB
           ┌───┬───┬───┬───┬───┬───┬───┬───┐
    S#0    │ F │5S │ C │Fifth sprite number│ Status register 0
           └───┴───┴───┴───┴───┴───┴───┴───┘

          
@@ 1201,8 1192,7 @@ the status when the MSX-VIDEO is read.</
 
 
 
-<pre>
-     VR:  Vertical scanning line timing flag
+<pre>     VR:  Vertical scanning line timing flag
           During vertical scanning, this flag is set to 1.
 
      HR:  Horizontal scanning line timing flag

          
@@ 1236,8 1226,7 @@ the status when the MSX-VIDEO is read.</
 sprites, the location of lightpen detection, and the relative movement
 of the mouse.</p>
 
-<pre>
-       MSB  7   6   5   4   3   2   1   0  LSB
+<pre>       MSB  7   6   5   4   3   2   1   0  LSB
           ┌───┬───┬───┬───┬───┬───┬───┬───┐
    S#7    │C7 │C6 │C5 │C4 │C3 │C2 │C1 │C0 │ Color register
           └───┴───┴───┴───┴───┴───┴───┴───┘

          
@@ 1246,8 1235,7 @@ of the mouse.</p>
 <p>The above color register is used when the POINT and VRAM to CPU
 commands are executed. The VRAM data is set in this register.</p>
 
-<pre>
-       MSB  7   6   5   4   3   2   1   0  LSB
+<pre>       MSB  7   6   5   4   3   2   1   0  LSB
           ┌───┬───┬───┬───┬───┬───┬───┬───┐
    S#8    │BX7│BX6│BX5│BX4│BX3│BX2│BX1│BX0│ Border X register low
           ╞═══╪═══╪═══╪═══╪═══╪═══╪═══╪═══╡

          
@@ 1267,8 1255,7 @@ detected, the X coordinate is set in the
 
 <h2 id="pt1-3-1">Characteristics</h2>
 
-<pre>
-- Pattern size             : 6 dots (w) x 8 dots (h)
+<pre>- Pattern size             : 6 dots (w) x 8 dots (h)
 - Patterns                 : 256 types
 - Screen pattern count     : 40 (w) x 24 (h) patterns
 - Pattern colors           : Two colors out of 512 colors (per screen)

          
@@ 1278,8 1265,7 @@ detected, the X coordinate is set in the
 
 <h2>Controls</h2>
 
-<pre>
-- Pattern font             : VRAM pattern generator table
+<pre>- Pattern font             : VRAM pattern generator table
 - Screen pattern location  : VRAM pattern name table
 - Pattern color code 1     : High-order four bits of R#7
 - Pattern color code 0     : Low-order fout bits of R#7

          
@@ 1292,8 1278,7 @@ detected, the X coordinate is set in the
 
 <h3 id="pt1-3-2-1">1.  Mode and register settings</h3>
 
-<pre>
-        MSB  7   6   5   4   3   2   1   0  LSB
+<pre>        MSB  7   6   5   4   3   2   1   0  LSB
            ┌───┬───┬───┬───┬───┬───┬───┬───┐
    R#0     │ 0 │DG │IE2│IE1│ 0*│ 0*│ 0*│ 0 │ Mode register 0
            ╞═══╪═══╪═══╪═══╪═══╪═══╪═══╪═══╡

          
@@ 1323,8 1308,7 @@ All other bits are set accordingly
     register R#4.</li>
 </ul>
 
-<pre>
-        MSB  7   6   5   4   3   2   1   0  LSB
+<pre>        MSB  7   6   5   4   3   2   1   0  LSB
            ┌───┬───┬───┬───┬───┬───┬───┬───┐
    R#4     │ 0 │ 0 │A16│A15│A14│A13│A12│A11│ Pattern generator table
            └───┴───┴───┴───┴───┴───┴───┴───┘ base address register

          
@@ 1333,8 1317,7 @@ All other bits are set accordingly
 
 <h4 id="pt1-3-2-2-1">Pattern generator table</h4>
 
-<pre>
-(X=1, O=0)
+<pre>(X=1, O=0)
 
                  ┌┬────────  These bits are not displayed.
                  ││

          
@@ 1381,8 1364,7 @@ All other bits are set accordingly
     register R#2.</li>
 </ul>
 
-<pre>
-        MSB  7   6   5   4   3   2   1   0  LSB
+<pre>        MSB  7   6   5   4   3   2   1   0  LSB
            ┌───┬───┬───┬───┬───┬───┬───┬───┐
    R#2     │ 0 │A16│A15│A14│A13│A12│A11│A10│ Pattern name table
            └───┴───┴───┴───┴───┴───┴───┴───┘ base address register

          
@@ 1391,8 1373,7 @@ All other bits are set accordingly
 <h4 id="pt1-3-2-3-1">Pattern name table</h4>
 
 
-<pre>
-     │         │
+<pre>     │         │
      ├─────────┤ Base address
      │ ( 0, 0) │   0              0    1    2    3   .  .   39  X
      ├─────────┤               ┌────┬────┬────┬────┬      ┬────┐

          
@@ 1423,8 1404,7 @@ All other bits are set accordingly
 <h3 id="pt1-3-2-4">4.  Color register settings</h3>
 
 
-<pre>
-       MSB  7   6   5   4   3   2   1   0  LSB
+<pre>       MSB  7   6   5   4   3   2   1   0  LSB
           ┌───┬───┬───┬───┬───┬───┬───┬───┐
   R#7     │TC3│TC2│TC1│TC0│BD3│BD2│BD1│BD0│ Text color/Back drop color
           └──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┘ register

          
@@ 1439,8 1419,7 @@ All other bits are set accordingly
 <h2 id="pt1-3-3">Example of VRAM allocation in TEXT 1 mode</h2>
 
 
-<pre>
-00000H  ┌──────────┐         MSB   7   6   5   4   3   2   1   0   LSB
+<pre>00000H  ┌──────────┐         MSB   7   6   5   4   3   2   1   0   LSB
         │ Pattern  │             ┌───┬───┬───┬───┬───┬───┬───┬───┐
         │ Name     │        R#2  │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │
         │ Table 0  │             └───┴───┴───┴───┴───┴───┴───┴───┘

          
@@ 1486,8 1465,7 @@ 1FFFFH  └──────────┘
 
 <h2 id="pt1-4-1">Characteristics</h2>
 
-<pre>
-- Pattern size             : 6 dots (w) x 8 dots (h)
+<pre>- Pattern size             : 6 dots (w) x 8 dots (h)
 - Patterns                 : 256 types
 - Screen pattern count     : 80 (w) x 24 (h) patterns
                              80 (w) x 26.5 (h) patterns

          
@@ 1500,8 1478,7 @@ 1FFFFH  └──────────┘
 
 <h2 id="pt1-4-2">Controls</h2>
 
-<pre>
-- Pattern font             : VRAM pattern generator table
+<pre>- Pattern font             : VRAM pattern generator table
 - Screen pattern location  : VRAM pattern name table
 - Blink attributes         : VRAM color table
 - Pattern color code 1     : High-order four bits of R#7

          
@@ 1518,8 1495,7 @@ 1FFFFH  └──────────┘
 
 <h3 id="pt1-4-3-1">1. Mode and Register Settings</h3>
 
-<pre>
-        MSB  7   6   5   4   3   2   1   0  LSB
+<pre>        MSB  7   6   5   4   3   2   1   0  LSB
            ┌───┬───┬───┬───┬───┬───┬───┬───┐
    R#0     │ 0 │DG │IE2│IE1│ 0*│ 1*│ 0*│ 0 │ Mode register 0
            ╞═══╪═══╪═══╪═══╪═══╪═══╪═══╪═══╡

          
@@ 1550,8 1526,7 @@ All other bits are set accordingly.</p>
   register R#4</li>
 </ul>
 
-<pre>
-        MSB  7   6   5   4   3   2   1   0   LSB
+<pre>        MSB  7   6   5   4   3   2   1   0   LSB
            ┌───┬───┬───┬───┬───┬───┬───┬───┐
    R#4     │ 0 │ 0 │A16│A15│A14│A13│A12│A11│ Pattern generator table
            └───┴───┴───┴───┴───┴───┴───┴───┘ base address register

          
@@ 1565,8 1540,7 @@ All other bits are set accordingly.</p>
 
 <h4 id="pt1-4-3-2-1">Pattern generator table</h4>
 
-<pre>
-(X=1, O=0)
+<pre>(X=1, O=0)
 
                  ┌┬────────  These bits are not displayed.
                  ││

          
@@ 1613,8 1587,7 @@ All other bits are set accordingly.</p>
     register R#2.</li>
 </ul>
 
-<pre>
-        MSB  7   6   5   4   3   2   1   0  LSB
+<pre>        MSB  7   6   5   4   3   2   1   0  LSB
            ┌───┬───┬───┬───┬───┬───┬───┬───┐
    R#2     │ 0 │A16│A15│A14│A13│A12│ 1 │ 1 │ Pattern name table
            └───┴───┴───┴───┴───┴───┴───┴───┘  base address register

          
@@ 1627,8 1600,7 @@ All other bits are set accordingly.</p>
 <h4 id="pt1-4-3-3-1">Pattern name table</h4>
 
 
-<pre>
-     │         │
+<pre>     │         │
      ├─────────┤ Base address
      │ ( 0, 0) │   0              0    1    2    3   .  .   79  X
      ├─────────┤               ┌────┬────┬────┬────┬      ┬────┐

          
@@ 1664,8 1636,7 @@ All other bits are set accordingly.</p>
     and R#10.</li>
 </ul>
 
-<pre>
-        MSB  7   6   5   4   3   2   1   0  LSB