[Prev] [Next] [Up] [Main] [New] [Search] [Home]
Front page

A Programmer's Guide to the MSX System

Chris I. Burkinshaw and Ross Goodley

In English
ISBN: 1-85058-015-4 (Fennica) (HelMet) (Kirjastot.fi) (Library of Congress)
Publisher: Sigma Press
1985


For MSX Programmers - your constant companion

This is not a book for the raw beginner - rather, it takes the MSX programmer "inside" the computer to see exatly how it works and how to get the most from it.

The first part covers system design, how the BASIC vocabulary relates to MSX machines, and an introduction to machine code. You will find detailed explanations of memory organization, display modes, and the VDP and sound chips.

The second part is concerned with the use of assembly language in the MSX environment. Major sections include:

- The Video Display Processor

- The AY-3-8910 Sound Chip

- Input/Output

Whether you need to write high-performance programs, or just want to know how your computer works, this book will be invaluable. We feel tahat it will rapidly become the standard text for MSX programmers who want to do more than just write BASIC programs.

Table of Contents
 
1. INTRODUCTION 1
Overview1
Memory Organization2
Input/Output Ports4
Tape Interface4
Display Modes5
The VDP and Sound Chips5
VDP Display Structure7
High resolution graphics
10
Colour
10
Sprites
12
General Instruments AY-3-8910 Programmable Sound Generator14
 
2. MSX BASIC 15
Variables and Functions16
Functions
17
Graphics Commands18
General Purpose Commands18
Text Modes18
Video RAM Manipulation21
Example Program - redesigning the character set23
Sprites26
Example Program - Sprite Designer30
High Resolution Graphics32
Example Program - Sketch-Pad35
Sound37
Program Storage39
 
3. MSX BASIC VOCABULARY 42
 
4. Z-80 MACHINE LANGUAGE 70
Microprocessors70
System Organization71
Binary and Hexadecimal Representation73
Logical Operations76
 
5. THE MSX CONFIGURATION 95
MSX Memory Management95
Accessing the Sound Chip, VDP and PPI96
The VDP: a general introduction
96
The General Instruments AY-3-8910 Sound Chip
97
The Intel 8255 PPI
96
Interrupt Handling and "RAM Hooks"97
Example Program - Real Time Clock98
MSX System RAM Usage101
Using Machine Code Subroutines from BASIC103
 
6. THE VIDEO DISPLAY PROCESSOR 105
The Control Lines105
The VDP Lines107
Video Display Modes110
Graphics Mode I
111
Graphics Mode II
111
Multicolour Mode
113
Text Mode
113
Sprites
114
The VDP in the MSX Environment116
Programming the VDP: hints and tips118
The Pattern Plane
119
Character and Sprite Definition Program
119
Using the definer
140
The definer in modes other than Graphics II
141
Dynamic Pattern Definition142
Graphics II Mode as a Bit-Mapped Mode143
More from Sprites: interrupt switching techniques145
Two colour sprites145
Quick VDP Access: avoiding time problems148
 
7. THE PROGRAMMABLE SOUND GENERATOR 150
The Data Registers150
The Tone Generators (register 0--5)
150
The Noise Generator (register 6)
150
The Enables Register (register 7)
150
Amplitude Control (registers 8--10)
151
Envelope Generator (registers 11--13)
152
The I/O Ports (registers 14--15)
152
Notes and Note Periods
152
Accessing the PSG in the MSX Environment154
Programming the PSG154
Three Channel Music: the computer as a performer155
Sound Effects on the AY-3-8910158
Sound Generation in Software: the one bit sound port159
 
8. INPUT-OUTPUT: THE COMPUTER'S WINDOW ON THE WORLD 160
Game I/O: joysticks, paddles and touchpads160
Console input/output161
Slot Selection162
Keyboard Scanning: checking individual keys163
 
Appendix A: Character Codes 166
 
Appendix B: Color Assignments 167
 
Appendix C: Video RAM Table 168
 
Appendix D: Z-80 Instructions 169
 
Appendix E: Extract from the TMS 9118/9128/9129 Data Manual 172
 
Appendix F: Extract from the AY-3-8910 Programmable Sound Generator 182



[Prev] [Next] [Up] [Main] [New] [Search] [Home]
This page has been created by Sami Rautiainen.
Read the small print. Last updated Jun 26, 2004