@nataliapc/mcp-openmsx 1.1.5 → 1.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +41 -2
  2. package/dist/openmsx.js +9 -0
  3. package/dist/server.js +502 -327
  4. package/dist/utils.js +17 -0
  5. package/package.json +4 -1
  6. package/resources/audio/toc.json +31 -0
  7. package/resources/bios/Calling_BIOS_from_MSX-DOS.md +75 -0
  8. package/resources/bios/MSX2_SUBROM_BIOS_calls.md +734 -0
  9. package/resources/bios/MSX_BIOS_calls.md +1046 -0
  10. package/resources/bios/toc.json +24 -0
  11. package/resources/book--msx2-technical-handbook/Appendix1__BIOS_Listing.md +1464 -0
  12. package/resources/book--msx2-technical-handbook/Appendix2__Math-Pack.md +427 -0
  13. package/resources/book--msx2-technical-handbook/Appendix3__Bit_Block_Transfer.md +182 -0
  14. package/resources/book--msx2-technical-handbook/Appendix4__Work_Area_Listing.md +1637 -0
  15. package/resources/book--msx2-technical-handbook/Appendix5__VRAM_Map.md +145 -0
  16. package/resources/book--msx2-technical-handbook/Appendix6__IO_Map.md +128 -0
  17. package/resources/book--msx2-technical-handbook/Appendix8_10__Control_Codes_and_Escape_Sequences.md +76 -0
  18. package/resources/book--msx2-technical-handbook/Chapter1__MSX_System_Overview.md +402 -0
  19. package/resources/book--msx2-technical-handbook/Chapter2__BASIC.md +2148 -0
  20. package/resources/book--msx2-technical-handbook/Chapter3__MSX-DOS.md +2577 -0
  21. package/resources/book--msx2-technical-handbook/Chapter4a__VDP_and_Display_Screen.md +2052 -0
  22. package/resources/book--msx2-technical-handbook/Chapter4b__VDP_and_Display_Screen.md +3311 -0
  23. package/resources/book--msx2-technical-handbook/Chapter5a__Access_to_Peripherals_through_BIOS.md +2714 -0
  24. package/resources/book--msx2-technical-handbook/Chapter5b__Access_to_Peripherals_through_BIOS.md +1263 -0
  25. package/resources/book--msx2-technical-handbook/MSX_Kun_BASIC_Compiler.md +220 -0
  26. package/resources/book--msx2-technical-handbook/toc.json +82 -0
  27. package/resources/book--the-msx-red-book/the_msx_red_book.md +10349 -0
  28. package/resources/book--the-msx-red-book/toc.json +12 -0
  29. package/resources/msx-dos/MSX-DOS_2_Function_Specifications.md +1366 -0
  30. package/resources/msx-dos/MSX-DOS_2_Program_Interface_Specification.md +963 -0
  31. package/resources/msx-dos/toc.json +18 -0
  32. package/resources/msx-unapi/Ethernet_UNAPI_specification_1.1.md +369 -0
  33. package/resources/msx-unapi/Introduction_to_MSX-UNAPI.md +132 -0
  34. package/resources/msx-unapi/MSX_UNAPI_specification_1.1.md +679 -0
  35. package/resources/msx-unapi/TCP-IP_UNAPI_specification.md +2361 -0
  36. package/resources/msx-unapi/toc.json +27 -0
  37. package/resources/others/toc.json +11 -0
  38. package/resources/processors/Z80_R800_instruction_set.md +482 -0
  39. package/resources/processors/toc.json +24 -0
  40. package/resources/processors/z80-undocumented.tex +5617 -0
  41. package/resources/processors/z80_detailed_instruction_set.md +2025 -0
  42. package/resources/programming/toc.json +121 -0
  43. package/resources/system/MSX_IO_ports_overview.md +554 -0
  44. package/resources/system/toc.json +18 -0
  45. package/resources/video/V9938_Technical_Data_Book.md +3623 -0
  46. package/resources/video/V9958_Technical_Data_Book.md +417 -0
  47. package/resources/video/V9990_Programmers_Manual_Banzai.html +1582 -0
  48. package/resources/video/VDP_TMS9918A.txt +709 -0
  49. package/resources/video/toc.json +28 -0
@@ -0,0 +1,145 @@
1
+ # APPENDIX 5 - VRAM MAP
2
+
3
+
4
+ <p>&nbsp;</p>
5
+
6
+ ## Index
7
+
8
+ - [SCREEN 0 (WIDTH 40) / TEXT 1](#screen-0-width-40--text-1)
9
+ - [SCREEN 0 (WIDTH 80) / TEXT 2](#screen-0-width-80--text-2)
10
+ - [SCREEN 1 / GRAPHIC 1](#screen-1--graphic-1)
11
+ - [SCREEN 2 / GRAPHIC 2](#screen-2--graphic-2)
12
+ - [SCREEN 3 / MULTI COLOUR](#screen-3--multi-colour)
13
+ - [SCREEN 4 / GRAPHIC 3](#screen-4--graphic-3)
14
+ - [SCREEN 5, 6 / GRAPHIC 4, 5](#screen-5-6--graphic-4-5)
15
+ - [SCREEN 7, 8 / GRAPHIC 6, 7](#screen-7-8--graphic-6-7)
16
+ - [Changes from the original](#changes-from-the-original)
17
+
18
+
19
+ <p>&nbsp;</p>
20
+
21
+ ## SCREEN 0 (WIDTH 40) / TEXT 1
22
+
23
+ | Address range | Usage |
24
+ | --- | --- |
25
+ | 0000H - 03BFH | Pattern name table |
26
+ | 0400H - 042FH | Palette table |
27
+ | 0800H - 0FFFH | Pattern generator table |
28
+
29
+
30
+ <p>&nbsp;</p>
31
+
32
+ ## SCREEN 0 (WIDTH 80) / TEXT 2
33
+
34
+ | Address range | Usage |
35
+ | --- | --- |
36
+ | 0000H - 077FH | Pattern name table |
37
+ | 0800H - 08EFH | Blink table (24 lines mode) |
38
+ | 0800H - 090DH | Blink table (26.5 lines mode) |
39
+ | 0F00H - 0F2FH | Palette table |
40
+ | 1000H - 17FFH | Pattern generator table |
41
+
42
+
43
+ <p>&nbsp;</p>
44
+
45
+ ## SCREEN 1 / GRAPHIC 1
46
+
47
+ | Address range | Usage |
48
+ | --- | --- |
49
+ | 0000H - 07FFH | Pattern generator table |
50
+ | 1800H - 1AFFH | Pattern name table |
51
+ | 1B00H - 1B7FH | Sprite attribute table |
52
+ | 2000H - 201FH | Colour table |
53
+ | 2020H - 204FH | Palette table |
54
+ | 3800H - 3FFFH | Sprite generator table |
55
+
56
+
57
+ <p>&nbsp;</p>
58
+
59
+ ## SCREEN 2 / GRAPHIC 2
60
+
61
+ | Address range | Usage |
62
+ | --- | --- |
63
+ | 0000H - 07FFH | Pattern generator table 1 |
64
+ | 0800H - 0FFFH | Pattern generator table 2 |
65
+ | 1000H - 17FFH | Pattern generator table 3 |
66
+ | 1800H - 18FFH | Pattern name table 1 |
67
+ | 1900H - 19FFH | Pattern name table 2 |
68
+ | 1A00H - 1AFFH | Pattern name table 3 |
69
+ | 1B00H - 1B7FH | Sprite attribute table |
70
+ | 1B80H - 1BAFH | Palette table |
71
+ | 2000H - 27FFH | Colour table 1 |
72
+ | 2800H - 2FFFH | Colour table 2 |
73
+ | 3000H - 37FFH | Colour table 3 |
74
+ | 3800H - 3FFFH | Sprite generator table |
75
+
76
+
77
+ <p>&nbsp;</p>
78
+
79
+ ## SCREEN 3 / MULTI COLOUR
80
+
81
+ | Address range | Usage |
82
+ | --- | --- |
83
+ | 0000H - 07FFH | Pattern generator table |
84
+ | 0800H - 0AFFH | Pattern name table |
85
+ | 1B00H - 1B7FH | Sprite attribute table |
86
+ | 2020H - 204FH | Palette table |
87
+ | 3800H - 3FFFH | Sprite generator table |
88
+
89
+
90
+ <p>&nbsp;</p>
91
+
92
+ ## SCREEN 4 / GRAPHIC 3
93
+
94
+ | Address range | Usage |
95
+ | --- | --- |
96
+ | 0000H - 07FFH | Pattern generator table 1 |
97
+ | 0800H - 0FFFH | Pattern generator table 2 |
98
+ | 1000H - 17FFH | Pattern generator table 3 |
99
+ | 1800H - 18FFH | Pattern name table 1 |
100
+ | 1900H - 19FFH | Pattern name table 2 |
101
+ | 1A00H - 1AFFH | Pattern name table 3 |
102
+ | 1B80H - 1BAFH | Palette table |
103
+ | 1C00H - 1DFFH | Sprite colour table |
104
+ | 1E00H - 1E7FH | Sprite attribute table |
105
+ | 2000H - 27FFH | Colour table 1 |
106
+ | 2800H - 2FFFH | Colour table 2 |
107
+ | 3000H - 37FFH | Colour table 3 |
108
+ | 3800H - 3FFFH | Sprite generator table |
109
+
110
+
111
+ <p>&nbsp;</p>
112
+
113
+ ## SCREEN 5, 6 / GRAPHIC 4, 5
114
+
115
+ | Address range | Usage |
116
+ | --- | --- |
117
+ | 0000H - 5FFFH | Pattern name table (192 lines) |
118
+ | 0000H - 69FFH | Pattern name table (212 lines) |
119
+ | 7400H - 75FFH | Sprite colour table |
120
+ | 7600H - 767FH | Sprite attribute table |
121
+ | 7680H - 76AFH | Palette table |
122
+ | 7A00H - 7FFFH | Sprite generator table |
123
+
124
+
125
+ <p>&nbsp;</p>
126
+
127
+ ## SCREEN 7, 8 / GRAPHIC 6, 7
128
+
129
+ | Address range | Usage |
130
+ | --- | --- |
131
+ | 0000H - BFFFH | Pattern name table (192 lines) |
132
+ | 0000H - D3FFH | Pattern name table (212 lines) |
133
+ | F000H - F7FFH | Sprite generator table |
134
+ | F800H - F9FFH | Sprite colour table |
135
+ | FA00H - FA7FH | Sprite attribute table |
136
+ | FA80H - FAAFH | Palette table |
137
+
138
+
139
+ <p>&nbsp;</p>
140
+
141
+ ## Changes from the original
142
+
143
+ - The original VRAM mapping figures have been converted to simple text tables.
144
+
145
+ - In [SCREEN 0 (WIDTH 80)](#screen-0-width-80--text-2) map, different end addresses for the blink table are indicated for 24 lines mode and 26.5 lines mode.
@@ -0,0 +1,128 @@
1
+ # APPENDIX 6 - I/O MAP
2
+
3
+
4
+ <p>&nbsp;</p>
5
+
6
+ * **00H to 3FH**: user defined
7
+
8
+ * **40H to 7FH**: reserved
9
+
10
+ * **80H to 87H**: for RS-232C
11
+ * 80H: 8251 data
12
+ * 81H: 8251 status/command
13
+ * 82H: status read/interrupt mask
14
+ * 83H: unused
15
+ * 84H: 8253
16
+ * 85H: 8253
17
+ * 86H: 8253
18
+ * 87H: 8253
19
+
20
+ * **88H to 8BH**: VDP (9938) I/O port for MSX1 adaptor
21
+
22
+ This is V9938 I/O for MSX1. To access VDP directly, examine 06H and 07H of MAIN-ROM to confirm the port address
23
+
24
+ * **8CH to 8DH**: for the modem
25
+
26
+ * **8EH to 8FH**: reserved
27
+
28
+ * **90H to 91H**: printer port
29
+ * 90H
30
+ * bit 0: strobe output (write)
31
+ * bit 1: status input (read)
32
+ * 91H: data to be printed
33
+
34
+ * **92H to 97H**: reserved
35
+
36
+ * **98H to 9BH**: for MSX2 VDP (V9938)
37
+ * 98H: VRAM access
38
+ * 99H: command register access
39
+ * 9AH: palette register access (write only)
40
+ * 9BH: register pointer (write only)
41
+
42
+ * **9CH to 9FH**: reserved
43
+
44
+ * **A0H to A3H**: sound generator (AY-3-8910)
45
+ * A0H: address latch
46
+ * A1H: data read
47
+ * A2H: data write
48
+
49
+ * **A4H to A7H**: reserved
50
+
51
+ * **A8H to ABH**: parallel port (8255)
52
+ * A8H: port A
53
+ * A9H: port B
54
+ * AAH: port C
55
+ * ABH: mode set
56
+
57
+ * **ACH to AFH**: MSX engine (one chip MSX I/O)
58
+
59
+ * **B0H to B3H**: expansion memory (SONY specification) (8255)
60
+ * A8H: port A, address (A0 to A7)
61
+ * A9H: port B, address (A8 to A10, A13 to A15), control R/W
62
+ * AAH: port C, address (A11 to A12), data (D0 - D7)
63
+ * ABH: mode set
64
+
65
+ * **B4H to B5H**: CLOCK-IC (RP-5C01)
66
+ * B4H: address latch
67
+ * B5H: data
68
+
69
+ * **B6H to B7H**: reserved
70
+
71
+ * **B8H to BBH**: lightpen control (SANYO specification)
72
+ * B8H: read/write
73
+ * B9H: read/write
74
+ * BAH: read/write
75
+ * BBH: write only
76
+
77
+ * **BCH to BFH**: VHD control (JVC) (8255)
78
+ * BCH: port A
79
+ * BDH: port B
80
+ * BEH: port C
81
+
82
+ * **C0H to C1H**: MSX-Audio
83
+
84
+ * **C2H to C7H**: reserved
85
+
86
+ * **C8H to CFH**: MSX interface
87
+
88
+ * **D0H to D7H**: floppy disk controller (FDC)
89
+
90
+ The floppy disk controller can be interrupted by an external signal. Interrupt is possible only when the FDC is accessed. Thus, the system can treat different FDC interfaces.
91
+
92
+ * **D8 to D9H**: kanji ROM (TOSHIBA specification)
93
+ * D8H: b5-b0, lower address (write only)
94
+ * D9H
95
+ * b5-b0: upper address (write)
96
+ * b7-b0: data (read)
97
+
98
+ * **DAH to DBH**: for future kanji expansion
99
+
100
+ * **DCH to F4H**: reserved
101
+
102
+ * **F5H**: system control (write only), setting bit to 1 enables available I/O devices
103
+ * b0: kanji ROM
104
+ * b1: reserved for kanji
105
+ * b2: MSX-AUDIO
106
+ * b3: superimpose
107
+ * b4: MSX interface
108
+ * b5: RS-232C
109
+ * b6: lightpen
110
+ * b7: CLOCK-IC (only on MSX2)
111
+
112
+ Bits to void the conflict between internal I/O devices or those connected by cartridge. The bits can disable the internal devices. When BIOS is initialised, internal devices are valid if no external devices are connected. Applications may not write to or read from here.
113
+
114
+ * **F8H**: colour bus I/O
115
+
116
+ * **F7H**: A/V control
117
+ * b0: audio R - mixing ON (write)
118
+ * b1: audio L - mixing OFF (write)
119
+ * b2: select video input - 21p RGB (write)
120
+ * b3: detect video input - no input (read)
121
+ * b4: AV control - TV (write)
122
+ * b5: Ym control - TV (write)
123
+ * b6: inverse of bit 4 of VDP register 9 (write)
124
+ * b7: inverse of bit 5 of VDP register 9 (write)
125
+
126
+ * **F8H to FBH**: reserved
127
+
128
+ * **FCH to FFH**: memory mapper
@@ -0,0 +1,76 @@
1
+ # APPENDIX 8 - CONTROL CODES
2
+
3
+ | Code (dec) | Code (hex) | Function| Corresponding key(s) |
4
+ | --- | --- | --- | --- |
5
+ | 0 | 00H | | CTRL + @ |
6
+ | 1 | 01H | header at input/output of graphic characters | CTRL + A |
7
+ | 2 | 02H | move cursor to the top of the previous word | CTRL + B |
8
+ | 3 | 03H | end the input-waiting state | CTRL + C |
9
+ | 4 | 04H | | CTRL + D |
10
+ | 5 | 05H | delete below cursor | CTRL + E |
11
+ | 6 | 06H | move cursor to the top of the next word | CTRL + F |
12
+ | 7 | 07H | speaker output (same as the BEEP statement) | CTRL + G |
13
+ | 8 | 08H | delete a character before cursor | CTRL + H or BS |
14
+ | 9 | 09H | move to next horizontal tab stop | CTRL + I or TAB |
15
+ | 10 | 0AH | line feed | CTRL + J |
16
+ | 11 | 0BH | home cursor | CTRL + K or HOME |
17
+ | 12 | 0CH | clear screen and home cursor | CTRL + L or CLS |
18
+ | 13 | 0DH | carriage return | CTRL + M or RETURN |
19
+ | 14 | 0EH | move cursor to the end of line | CTRL + N |
20
+ | 15 | 0FH | | CTRL + O |
21
+ | 16 | 10H | | CTRL + P |
22
+ | 17 | 11H | | CTRL + Q |
23
+ | 18 | 12H | insert mode ON/OFF | CTRL + R or INS |
24
+ | 19 | 13H | | CTRL + S |
25
+ | 20 | 14H | | CTRL + T |
26
+ | 21 | 15H | delete one line from screen | CTRL + U |
27
+ | 22 | 16H | | CTRL + V |
28
+ | 23 | 17H | | CTRL + W |
29
+ | 24 | 18H | | CTRL + X or SELECT |
30
+ | 25 | 19H | | CTRL + Y |
31
+ | 26 | 1AH | | CTRL + Z |
32
+ | 27 | 1BH | | CTRL + [ or ESC |
33
+ | 28 | 1CH | move cursor right | CTRL + \ or RIGHT |
34
+ | 29 | 1DH | move cursor left | CTRL + ] or LEFT |
35
+ | 30 | 1EH | move cursor up | CTRL + ^ or UP |
36
+ | 31 | 1FH | move cursor down | CTRL + _ or DOWN |
37
+ | 127 | 7FH | delete character under cursor | DEL |
38
+
39
+
40
+ <p>&nbsp;</p>
41
+
42
+ # APPENDIX 10 - ESCAPE SEQUENCES
43
+
44
+
45
+ ### Cursor movement
46
+
47
+ | Sequence | Function |
48
+ | --- | --- |
49
+ | \<ESC\> A | move cursor up |
50
+ | \<ESC\> B | move cursor down |
51
+ | \<ESC\> C | move cursor right |
52
+ | \<ESC\> D | move cursor left |
53
+ | \<ESC\> H | move cursor home |
54
+ | \<ESC\> Y \<Y-coordinate+20H\> \<X-coordinate+20H\> | move cursor to (X, Y) |
55
+
56
+
57
+ ### Edit, delete
58
+
59
+ | Sequence | Function |
60
+ | --- | --- |
61
+ | \<ESC\> j | clear screen |
62
+ | \<ESC\> E | clear screen |
63
+ | \<ESC\> K | delete to end of line |
64
+ | \<ESC\> J | delete to end of screen |
65
+ | \<ESC\> L | insert one line |
66
+ | \<ESC\> M | delete one line |
67
+
68
+
69
+ ### Miscellaneous
70
+
71
+ | Sequence | Function |
72
+ | --- | --- |
73
+ | \<ESC\> x4 | set block cursor |
74
+ | \<ESC\> x5 | hide cursor |
75
+ | \<ESC\> y4 | set underline cursor |
76
+ | \<ESC\> y5 | display cursor |