SOUNDCHIP SFG-01 MBIOS

From MSX MUSIC WIKI
Revision as of 12:49, 27 June 2021 by Kumokosi (talk | contribs) (5-1 Program Example)
Jump to: navigation, search

Wiki texts encoded by this Wiki writer


SFG01 Music BIOS

Reference Manual v1.0 December 26, 1984 Nippon Gakki Co., Software Development

Introduction

This reference manual is intended to explain the utilization of the "SFG-01" Control Program version 1.0" which resides within the internal 16Kbyte ROM of the "SFG-01".

Chapter I Outline

1-1 Program Configuration

1-2 Design Concept

The MBIOS was designed with the following main concepts in mind.

First, MBIOS users should not have to worry directly about the hardware. The controls of the built-in FM sound chip, and that of midi interface, are all carried out by the MBIOS, freeing the user from this task.

Second, the concept of a virtual instrument should be defined in the user's program space. By instrument, we mean the processing system for real-time key-on/key-off requests (events). MBIOS defines the instrument by using an IDB(Instrument Definition Block) that is linked to the built-in FM sound generator IC or MIDI interface as the actual instrumental outputs. Thus (considering event data being input to the instrument), once the instrument is defined, the user can control the FM sound generator IC by manipulating only the event data.

Third, the slot management of the MSX system should be left up to user. This enables a multiple number of slots to be used together with the M-BIOS. In other words, the M-BIOS does not address the slots by itself (with some exceptions). This enables the user to call out the IRQ processing module of the MBIOS by switching the slot to SFG-01 , even when the interrupt is received at the user's slot.

Fourth, there may be parallel prcessing by service calls. That is, the processes of Keyboard Scanning and Instrument Performance (PLAY), as well as the real-time processes such as event buffer handling for automatic reformance, can run simultaneously by appropriately issuing MBIOS calls in the user's main program or in his interrupt routines.

1-3 Hardware Configuration

1-4 Interface with MSX BASIC

1-5 Versions

Chapter II Basic Functions

2-1 Keyboard, Queue, Musical Instrument, Event

2-1-1 Musical Instrument, Event

In this manual. 'instrument is meant to be an event processing system. There are 8 -general instruments and 4 special instruments . The general Instrument is meant to be a normal instrument that plays most of the music. accepting keyboard performance events Isuch as melody, The special instrument is specifically designed ka- rhythmic performance It is possible for the MBIOS us, to program these rhythmic instruments by us, general instruments and appropriately designing the performance buffer. However. MBI. already provides some useful rhythmic instruments for the user who does not want to specifically program the rhythm instruments These are Chord. Bass, Percussion .0. and Percussion, instruments

The instruments are defined by the control block, called 1DB (Instrument Definition Block 8 general IDB's are referenced as IDEI.O. IDB.7. Chord, Bass. Percussion are referenced as IDB.C. IDB.B. IDB.P0. and IDB.PI respectively Hereafter, depending on the situation, the instrument may be refered to as MB.

The GSM vocal synthesizer. to be discussed later. is also defined by 1DB. and is referenced as IDEIR.M

      IDB.  =0 thru 7      IDES.0 to 1DB.7
                           IDB.0


                           1DB.P1


         Fig. 2.3 1DB numbers

2-2 Major parameters by which the FM sound generator IC creates sounds

2-3 Music Keyboard

2-4 Creation of Automatic Rhythm Patterns

2-5 CSMVocal Synthesis

2-6 Voice Library

2-7 Recording, Playback

Chapter III M-BIOS Interface

3-1 User Interface

3-2 Memory Management

The management of the cartridge slot is left up to the user. For example, assume that 0000h-3FFFh of the BASIC interpreter is mapped in front, and when an interrupt needing MBIOS service just arrives to the system. It is then the user's responsibility to switch the slot so as to map the MBIOS slot in front, then get IRQC service by MBIOS, and finally switch back to the original slot in order to exit from that interrupt.

However, as an exception, when loading/saving into the CMT. upon the CMT service call request. MBIOS switches the slot ( assuming the primary slot#0 for BASIC only) by itself appropriately to appropriate the CMT service provided in the BIOS of BASIC interpreter.

The memory allocation under MBIOS control is as shown in FIG. 3.1. The area from ED00h to F37Fh is a fixed work space for MB.. The area from EC00h to ECFFh is for the MIDB. Other areas such as MB, EVB, RHB, UVL, and the stack area can be allocated anywhere between 8000h (or 4000h when CMT routine is not used) and EC00h.

3-3 Supervisor Call

3-4 IRQ Processing

3-5 TRAP

3-6 Direct Commands by Asscessing MIDB,IDB

Chapter IV M-BIOS Syntax

4-1 I-Call

4-2 R-Call

4-3 K-Call

4-4 P-Call

4-5 S-Call

4-6 M-Call

4-7 TRAP

4-8 MIDB

4-9 IDB

4-10 Voice Data

4-11 UVL

4-12 Setting up information

Chapter V Writing Programs

5-1 Program Example

 The following sample program will demoostrme the following instruments.
      manual performance by MY with IDS.° 
      auto play of !Ws I
      auto rhythm of IDBIPO and !MITI
 Program explanations will be made in the following sections.
 With the example program, it is assumed that the VDP and t.PPI et the   MSX system have almady been Initialized by USX-BASIC
 MSX system have almady been Initialized by USX-BASIC

5-2 Supplementary explanation for recording and playback programming

5-3 supplementary explanation for autorhythm generator

5-4 Supplementary information for CMT handling

-Use the S-03 call to define the UVL.

-Use the S-21 call to load the UVL into memory (from the CMT). -Use S-22 call to save the UVL to the CMT -For the UVL load/save, the file name is fixed to ..V010E..

-Use the S-23 call to load the EVB into memory. -U. the S-29 call to save the EVB to the CMT. -The file name for the EVB can be specified via <M.FEVB> of the MIDS

5-5 M-Monitor usage

5-3 Problems and Solutions