MSX hardware info found !!!

ZXNet echo conference «zx.spectrum»

From Andrey Romanenko To All 28 January 1998


Hello everyone!!!

People here, one of you asked about MSX...
So I accidentally discovered a book on MSX hardware...
Everything is described in a rather sophisticated way... Typed in the Yamaha font,
i.e. looks like KOI-8...

>If MODERATOR doesn't mind, I can upload the archive at 160kB in the echo...

In the meantime, read the contents and introduction:
(converted by the XLAT program to CP/M so that the paragraph icon
is replaced by a space icon... ;)

=== Cut ===
MINISTRY OF HIGHER AND SECONDARY SPECIAL EDUCATION
RSFSR
Far Eastern State University
I.I. Bocharov
K.I. Fakhrutdinov
Programming in assembly language Z80
Vladivostok, 1990
CONTENTS
CHAPTER 1. MSX-2 MICROCOMPUTER ARCHITECTURE ..............
  1. General information about the MSX-2 architecture ............
  2. Z-80 microprocessor ........................
p.1. Main blocks .....................
p.2. Composition, designation and purpose of registers ..
clause 3. Register of signs ...........................
p.4. Command system, command format ............
p.5. Addressing methods ...........................
p.6. Interrupts.................................
3. Ports .............................................
4. Memory organization ................................
p.1. Memory card .....................
p.2. ROM subroutines .....................
p.3. Storing programs in the MSX-BASIC language ........
p.4. Data storage .....................
clause 5. Work area and traps ...................
p.6. Network memory ..............................
5. Video processor .................................
6. Video memory ..............................
7. Disk memory format ..........................
8. Sound generator ..........................
9. Keyboard ........................................

CHAPTER 2. DEVELOPMENT AND EXECUTION OF THE PROGRAM ...............
  1. Editing the program text ................
  2. Assembly ................................
  3. Editing connections and assembly ..........................
  4. Executing the program..........................
  5. Organizing connections with the language interpreter
MSX-BASIC .........................................
  6. Organizing connections with the translator from the C language ....

CHAPTER 3. PROGRAMMING IN ASSEMBLY LANGUAGE Z-80 ......
 1. Assembly directives .........................
2. Number systems ................................
3. Memory allocation and writing values ..............
4. Loading and exchange commands .........................
5. Listing printing control .........................
6. Arithmetic commands .........................
7. Logical commands .........................
8. Jump and Conditional Jump Commands .........
  9. Shift Commands .................................
  10. Data Block Transfers ..........................
  11. Search Commands ..............................
  12. Subroutines and Interrupts .........................
  13. Using the MSX System Workspace, Traps ...
  14. BIOS Routines ........................................
 15. Subroutines of the MSX-BASIC language interpreter ...
16. BDOS subroutines .....................
17. Network functions ..............................
18. Commands for working with input/output ports .........
19. Working with video memory ...........................
20. Programming noise and music ........................
21. Memory management (slots) ...................
22. Working with files .................................
23. Generating text onassembly language ........
24. Translation of segments .................................
25. Macros ..............................
26. Programming errors and computer viruses ..

CONCLUSION .........................................

REFERENCES .............................................

APPENDIX 1. Work area of the MSX system ...............
APPENDIX 2. Input/Output Ports .............................
APPENDIX 3. Z-80 Microprocessor Instruction System ........
APPENDIX 4. MSX-BASIC BIOS Routines ...............
APPENDIX 5. MSX-BDOS Input Points ........
APPENDIX 6. Program Listing "OCEAN" ........
APPENDIX 7. Listing of the sprite control program .....
APPENDIX 8. Input points of the MSX-BASIC language interpreter
APPENDIX 9. MSX-DOS BIOS network functions ........
APPENDIX 10. An example of organizing connections with the MSX-BASIC language.
Universal menu .....................
INTRODUCTION
What is assembler used for? Not everything you want can be done in a high-level language (for example: BASIC, PASCAL), but almost always can be done in assembly language. But at the same time
writing everything in assembler is very tedious, troublesome and difficult. Therefore, the option works well when most ofThe program is written in a high-level language, and some subroutines are written in assembly language. In addition, programs written in high-level languages ​​usually run slower than those written in assembly language. Therefore, if you need speed of program execution, then it is better to write a subroutine in assembly language. This is
why assembly language is needed.
This methodological development is intended as an introduction
to the assembly language of the Zilog-80 (Z-80) microprocessor, and also as
a brief reference material on programming in the assembly language of this processor.
To clarify the semantics of operations, brief
example programs will be given, they are debugged on the machine "YAMAHA
yis805/128R2", and are suitable for all similar machines.
The examples will use BIOS routines, a description of which you can read in the reference application.
When giving examples of working with a video processor, certain actions will be explained in detail. Please note that "YAMAHA" computers have a video processor
"TMS-9938A", these programs are only suitable for it or its
analog.
If you really want to learn how to program in
assembly language, read this manual carefully and try
programs incar. Clarify all unclear questions immediately, otherwise you will simply get confused!
=== Cut ===


With best regards.
Andrey.