@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.
- package/README.md +41 -2
- package/dist/openmsx.js +9 -0
- package/dist/server.js +502 -327
- package/dist/utils.js +17 -0
- package/package.json +4 -1
- package/resources/audio/toc.json +31 -0
- package/resources/bios/Calling_BIOS_from_MSX-DOS.md +75 -0
- package/resources/bios/MSX2_SUBROM_BIOS_calls.md +734 -0
- package/resources/bios/MSX_BIOS_calls.md +1046 -0
- package/resources/bios/toc.json +24 -0
- package/resources/book--msx2-technical-handbook/Appendix1__BIOS_Listing.md +1464 -0
- package/resources/book--msx2-technical-handbook/Appendix2__Math-Pack.md +427 -0
- package/resources/book--msx2-technical-handbook/Appendix3__Bit_Block_Transfer.md +182 -0
- package/resources/book--msx2-technical-handbook/Appendix4__Work_Area_Listing.md +1637 -0
- package/resources/book--msx2-technical-handbook/Appendix5__VRAM_Map.md +145 -0
- package/resources/book--msx2-technical-handbook/Appendix6__IO_Map.md +128 -0
- package/resources/book--msx2-technical-handbook/Appendix8_10__Control_Codes_and_Escape_Sequences.md +76 -0
- package/resources/book--msx2-technical-handbook/Chapter1__MSX_System_Overview.md +402 -0
- package/resources/book--msx2-technical-handbook/Chapter2__BASIC.md +2148 -0
- package/resources/book--msx2-technical-handbook/Chapter3__MSX-DOS.md +2577 -0
- package/resources/book--msx2-technical-handbook/Chapter4a__VDP_and_Display_Screen.md +2052 -0
- package/resources/book--msx2-technical-handbook/Chapter4b__VDP_and_Display_Screen.md +3311 -0
- package/resources/book--msx2-technical-handbook/Chapter5a__Access_to_Peripherals_through_BIOS.md +2714 -0
- package/resources/book--msx2-technical-handbook/Chapter5b__Access_to_Peripherals_through_BIOS.md +1263 -0
- package/resources/book--msx2-technical-handbook/MSX_Kun_BASIC_Compiler.md +220 -0
- package/resources/book--msx2-technical-handbook/toc.json +82 -0
- package/resources/book--the-msx-red-book/the_msx_red_book.md +10349 -0
- package/resources/book--the-msx-red-book/toc.json +12 -0
- package/resources/msx-dos/MSX-DOS_2_Function_Specifications.md +1366 -0
- package/resources/msx-dos/MSX-DOS_2_Program_Interface_Specification.md +963 -0
- package/resources/msx-dos/toc.json +18 -0
- package/resources/msx-unapi/Ethernet_UNAPI_specification_1.1.md +369 -0
- package/resources/msx-unapi/Introduction_to_MSX-UNAPI.md +132 -0
- package/resources/msx-unapi/MSX_UNAPI_specification_1.1.md +679 -0
- package/resources/msx-unapi/TCP-IP_UNAPI_specification.md +2361 -0
- package/resources/msx-unapi/toc.json +27 -0
- package/resources/others/toc.json +11 -0
- package/resources/processors/Z80_R800_instruction_set.md +482 -0
- package/resources/processors/toc.json +24 -0
- package/resources/processors/z80-undocumented.tex +5617 -0
- package/resources/processors/z80_detailed_instruction_set.md +2025 -0
- package/resources/programming/toc.json +121 -0
- package/resources/system/MSX_IO_ports_overview.md +554 -0
- package/resources/system/toc.json +18 -0
- package/resources/video/V9938_Technical_Data_Book.md +3623 -0
- package/resources/video/V9958_Technical_Data_Book.md +417 -0
- package/resources/video/V9990_Programmers_Manual_Banzai.html +1582 -0
- package/resources/video/VDP_TMS9918A.txt +709 -0
- package/resources/video/toc.json +28 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# APPENDIX 5 - VRAM MAP
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
<p> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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
|
package/resources/book--msx2-technical-handbook/Appendix8_10__Control_Codes_and_Escape_Sequences.md
ADDED
|
@@ -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> </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 |
|