

Introduction

Congratulations with purchasing SCC-Blaffer NT. It still may not beat the MoonSound (Sunrise), but SCC sure is hell of a lot faster then the MoonSound. And we think that the SCC has its unique features, so if used properly it?ll probably never stop amazing you? This project started out of the frustration that no SCC tracker available (until now that is) supports the PSG chip? The PSG can be very easily used to produce drum alike sounds. That?s why this tracker does support PSG. 

As the tracker has a MoonBlaster look alike shell, most users can get used very fast to the tracker. We do recommend all users to read the complete documentation, because the tracker is not completely the same as MoonBlaster, but that?s (of course) clear to you? SCC-Blaffer NT also has a few features not build in any MoonBlaster version. The users of SCC-Blaffer 1.0 are also recommended to read the complete documentation, because SCC-Blaffer NT is quite different (and easier) in use?

This document will handle the following topics:

* The SCC-Blaffer NT interface and key combinations.
* The SCC-Blaffer NT basic replayer to replay the songs created in your own programs
* The SCC-Blaffer NT file formats

We sure do hope you?ll enjoy using SCC-Blaffer NT as much as we enjoyed making it!

The whole TeddyWareZ crew, including our new member Zenor!


Contents
Getting started	1
Hardware configuration	1
DOS2	1
Slot expanders	1
Starting the tracker	1
The Tracker	3
Pattern editor	3
The first contact	3
Inputting a pattern	5
Inputting notes in the ?1Key? edit mode	5
Inputting notes in the ?Type? edit mode	5
Inputting special effects	6
Inputting the PSG channel	7
Inputting the command channel	8
Editing a pattern	8
Copy whole patterns	8
Copy channel to channel	8
Block functions	9
Cell copy	9
The RAM options	9
The active help	10
Key summary	10
The playing of a song	13
The playing of a pattern	13
The pattern/position editor	14
Key summary	15
Playing a song in the pattern/position editor:	16
Play pattern in pattern/position editor:	16
The instrument selector	16
Key summary	18
The start settings menu	18
Key summary	19
The instrument editor	19
Key summary	20
PIE (the PSG instrument editor)	20
A little PIE example instrument	21
Inputting commands, frequencies, volumes, etc.	22
The command channel (column 1)	22
The frequency channel (columns 2, 3 and 4)	22
The noise channels. (column 5,6 and 7)	23
The noise frequency. (column 8)	23
Global key summary	24

The disk menu	25
The main disk menu	25
Key summary	26
Selecting a file	26
Key summary	26
The info and settings menu	27
Predefined settings	28
Save all settings.	28
The replayer	28
Info for BASIC users:	28
Getting things to work	29
Other things:	29
Information for ML users:	31
Some equals	31
The storage of songdata:	31
Addresses to read:	32
Current frequencies	32
Current volumes	32
The file formats	32
SBM files	33
SBK, SBI and SBP files	34
SCC storage:	34
PSG Storage:	34
Instrument kit storage	34
SBS and SBP files	35
The final words?	35
Trouble shooting	35
I can?t hear the PSG!	35
SCC-Blaffer NT isn?t working on my MSX!	35
SCC Blaffer doesn?t start at all, the disk contains an error!	35
SCC-Blaffer does load all files, but crashes!	35
In the pattern editor, on channel 5 I can?t enter an ?INS? event!	35
The project	36
Hardware used	36
Software used	36
Special thanks?	36
Disclaimer	37
Project information	37
Contact information	38
The big net called internet	38
Snail mail	38
Telephone	38


Getting started

Hardware configuration

To use SCC-Blaffer NT you need the following hardware configuration:

* an MSX2? or better computer
* 128KB RAM and VRAM
* a single sided disk-drive (although SCC Blaffer NT is delivered on double density diskettes)
* a Konami? cartridge with SCC or SCC+ chip? build in
* SCC Blaffer NT

DOS2
SCC-Blaffer NT does not support DOS2 yet. In future versions this will be build in, but at this point we do not own any DOS2 cartridges. We apologise for that. Of course as soon as possible SCC-Blaffer NT will support DOS2.
Slot expanders
Also slot expanders are not supported yet. This also is because we do not own any slot expanders. This also will be build in sometime?
Starting the tracker

To start SCC-Blaffer NT put the diskette in drive A: and power up the MSX. As soon as the computer accesses the floppy drive push the cartridge into any cartridge slot (WARNING: If procedure is not correctly executed damage to cartridge and/or computer may occur. That?s why we recommend you to make a little switch onto your SCC cartridge)

After the MSX accessed the drive, the initialising routines will be loaded into memory. In this initialising routine will be checked if you have the minimum hardware configuration. If not, the MSX halts itself. If no SCC is detected during this phase, the tracker won?t start up. If somehow the SCC isn?t detected correctly, you can force SCC-Blaffer NT to use the slot you wish. This is accomplished by hitting 1 or 2. After that, SCC-Blaffer NT will continue loading. If no SCC is inserted in one of the slots, then insert an SCC, it?ll be automatically detected as soon as you insert the cartridge, and after that SCC-Blaffer NT will continue its loading sequence.

After this initialising routine you will see the TeddyWareZ logo. After that you will come into the SCC-Blaffer NT loading routines (fig 1.2). In this stage, all files SCC-Blaffer NT needs to run will be loaded into memory. On screen you exactly see what the MSX is loading at any stage, as also the filename SCC-Blaffer NT is accessing... If somehow a disk-error occurs, you will see that on screen. If that occurs, please make a notice of that, and you will (of course) receive a new copy of the tracker.

Fig. 1.1 ? The start-up screen





Fig. 1.2 ? The loading screen


The Tracker

Pattern editor

The first contact
Fig. 2.1 ? The pattern editor

As soon as the loading routines are done, you?ll see the screen shown in fig. 2-1. That screen is the main screen of SCC-Blaffer NT. In this screen the songs will be made. First we?ll explain what you can find on screen. On the upper side of the screen you see ?SongName?. This is the name you can give to a song. The standard songname is what you see after the ?SongName?. Try hitting CTRL-N. You will now see that the name is deleted, and the space used by the song is highlighted. The cursor has moved to the first character after ?SongName?. Now you can type a songname. After you?re done hit return to confirm the songname. Almost all functions in SCC-Blaffer NT are key combinations with CTRL, SHIFT or GRAPH + a keystroke.

Below the songname you see a pattern. SCC-Blaffer NT uses the pattern/position system, which is very convenient. A song is divided into a number of little memory pieces. The patterns are stored in there. And the best part is that they do not have to be played in sequential order, but you can determine which pattern when will be played. With a little example it?ll become clear. Imagine you have an audio CD with 7 tracks. Then you can program your CD player to play them in the order you want them to play. E.g.: first you want to listen to track (a pattern in SCC-Blaffer NT) five, after that you want to listen to track three, and after that to track two, then six, then one, then four, then seven, and last you want to hear track four again. That?ll be like this:


Order
Track you hear
1
5
2
3
3
2
4
6
5
1
6
4
7
7
8
4

Now change the ?order? with ?position? and ?track you hear? with ?pattern?, and you?ll understand the pattern/position system. In this way you can easily repeat short parts of the song (which you will use a lot!) And above all, this takes only 7 parts of the memory, because you play track 4 (see order 6 and 8) two times!

Well, back to the pattern editor. So on screen you see a pattern. In total SCC-Blaffer NT can handle up to 83 patterns (0..82). On the upper right hand of the screen you see ?Current pattern:  00?. This is the pattern that you see on screen. You can change the current pattern by pressing CTRL-RIGHT. This will increase the current pattern. It?ll clip on 82, as that is the last pattern. Hitting CTRL-LEFT will decrease the current pattern. For speed reasons you also can press CTRL-UP and CTRL-DOWN to respectively increase or decrease the current pattern with 4. Using TAB-Cursors will consult in changing the current position. When changing the current position, the current pattern will be changed to the pattern that will be played on that position. SCC-Blaffer NT can handle up to 256 positions (0 to 255).

Below the ?Current position? and ?Current pattern? you see ?Current row?. A pattern is divided into 16 rows. These will be played in the pattern.

Under ?Current row? you see ?Last position?. This is the last position the song will play before it stops. This can be altered with GRAPH-Cursors. The last position is a number from 0 through 255. Under that you see ?Loop position?. If this is set to ?OFF? the song stops playing after the last position is played. This can be altered with CTRL-L. When altering the loop position press left or right to respectively decrease and increase the loop position. If this is not ?OFF? the song will return to the position that is entered here after the last position is played.

Beneath the ?Loop position? you see ?Current tempo?. The number after that is (if the music is not playing) the tempo that will be the initial tempo. Edit this with CTRL-T. The tempo means how long it will take to play the Next row. You can calculate how long it will take. (26 ? tempo) / 50 seconds.

In this way tempo 1 is the slowest, and tempo 25 is the fastest.

Beneath the current tempo you see ?Ins. Nr. (Vol)? These are two numbers which are the current instrument and volume. Below the instrument number you see the name linked to the number. These come in very handy while editing a pattern. The instrument can be altered with SHIFT+LEFT or RIGHT. The volume can be altered with SHIFT-UP or DOWN. In the paragraph ?Editing a pattern? you?ll read how you can use them.

Beneath that you see ?equ. type?. This is the equaliser type. In the little box next to the ?equ. type? will appear equalisers while playing a song. It can be altered with GRAPH-E. ?Volume? equalisers are the equalisers that will show the volume of each channel. ?Normal? equalisers will peak when a note is played, and then lower, until the equaliser is empty or a new note is played.

Beneath the equaliser type you see Edit mode and current octaves. Edit mode can be altered with caps. When the ?1Key? edit mode is selected, you can input notes in one keystroke. As SCC-Blaffer can use up to 8 octaves (1..8) Not all notes could be under the keys. That?s where the current octaves come in. In total the MSX keyboard can use up to 2 octaves at the same time. The keyboard looks like a real music keyboard. It looks like this:

Note			C#   D#         F#   G#   A#         C#   D#          F#  G#   A#




What you type

What you type

Note		          C     D     E    F     G    A     B     C    D     E     F    G     A     B



Now imagine that current octaves are 3-4. In that way ?q? is equal to ?C 3? and ?3? is equal to ?D#3?, etc, etc.


Now you know what?s on screen, we?ll continue with another important part of the pattern editor: Moving the cursor!
Press LEFT and RIGHT to change channel. If you are on SCC channel 1, the cursor will be moved to SCC channel 2, etc, etc. Press up and down to change the current row. Notice that the ?Current row? changes with the cursor position. Also you can get on the command value of the SCC channels. This is accomplished by pressing ?[? or ?]? (or on the numeric keypad ?.? or ?,?). Press CTRL-X to switch the cursor mode. Now the cursor keys LEFT and RIGHT are switched with the ?[? and ?]? (or NUM ?.? and ?,?). See for yourself what you find the most easily to use.
Inputting a pattern

First we?ll explain how to enter notes in the 1Key edit mode and in the type edit mode. After that we?ll explain how to enter special effects on the SCC channels. Also the PSG channel and of course the command channel will be explained.

Inputting notes in the ?1Key? edit mode

Be sure the cursor is located on the note part of an SCC channel. The SCC channels are divided into 2 parts. The first is the note/special effect part. After that you see the command value of the channel. The command value is used for a number of things. It?ll all become clear to you while you?re reading.

So, the cursor is located at the note part of an SCC channel. Now hit ?w?. Now you?ll probably see ?D-3|0F? (assuming that current octaves is ?3-4? and the current volume is ?15?). When the replayer comes to the row where this is displayed the replayer will play an D-3 with volume 15 (15 is in hexadecimal 0F). So when inputting notes, the current volume will be filled in at the command value of the channel.

Inputting notes in the ?Type? edit mode

Inputting notes in the Type edit mode is quite different than inputting notes in the 1Key edit mode. In this edit mode the current octaves are not relevant anymore. But in this edit mode all octaves can be used at the same time. It still is quite easy to enter notes in this edit mode.

Try hitting ?D?. On screen you?ll se a ?D? in the note part of the SCC channel, and the cursor is located at the position behind that ?D?. Now hit ?3? and you?ll (again) see the ?D-3|0F? effect. 

Try finding out for yourself what you find the most easily to use. Some think the 1Key edit mode is handier, others can?t work with the 1Key edit mode, and choose the Type edit mode. Though if you are planning to use PC trackers in the future, I think you should choose the 1Key edit mode, because all the ?good? PC trackers only use the 1Key edit mode.


Inputting special effects

SCC Blaffer NT supports some special effects, such as volume and pitch slides, modulate, and some other things. Inputting these effects works very easily. Here you see a table where all effects are explained:

Key
Action
Description
Explanation
I
INS ??
Instrument change 1
The command value will get the value of the current instrument. In this row the instrument on that channel will be changed to the instrument of command value.
CTRL-I
INS ??
Instrument change 2
The command value has to be filled in by the user. The replaying is not different of course. This can be a number from $00 through $FF, but the values $CF through $FF aren?t valid, because an instrument kit contains 207 instruments. When this occurs, the instrument won?t be changed.
M
MOD ??
Modulate
M + ??		At the first interrupt the frequency of the channel 		where the modulate is will increase with ??. At the 		fourth interrupt the frequency will decrease with ?? 		so the original frequency is back again. At the 			seventh interrupt the frequency will be increased 		again, and so on.

M - ??		This is exactly the same as M +, only the first 			interrupt will decrease the frequency, the fourth will 		increase the frequency, and so on.

O
OFF
OFF event
Turns (if playing sounds) OFF the channel.
P
P? +/- ??
Pitch slide
There are 2 ways of pitch slide. Here are all possibilities?

P1+ ??		At each interrupt the frequency will be increased with 		command value, until a note or an ?OFF? event is 		found.

P1- ??		See P1+ ??, only now the frequency lowers each 		interrupt.

P2+ ??		In the row where P2+ ?? is, the frequency will be 		increased with ??. The frequency won?t be added in 		once, the frequency will be increased with little steps, 		and after the row is played, the frequency is 			increased with ??

P2- ??		See P2+ ??, only now the frequency lowers each 		interrupt.
S
AS +/- ??
Auto volume slide
AS+ 0?		After this command on each row that follows, the 		volume will be increased with 0?? See for exact 		explanation P2+ ???

AS- 0?		See AS- 0?, only now the volume will be lowered 		each row.


Key
Action
Description
Explanation
T
DT +/- ??
Detune setting
DT+ ??		After this command, the frequency of all notes that 		follow will be slightly increased by command value. In 		this way you avoid resonance. You get resonance 		when you play two the same notes on the same row 		with two the same instruments. The sound really 		hears strange then. By using a little bit detune, it 		sounds very nice again.

DT- ??		See DT+ ?? only now the frequency will be lowered 		by command value.
V
VS +/- ??
Volume slide
VS+ ??		The volume slide will be conveyed one row. After that 		the auto volume slide (if set that is) takes over again. 		The volume slide works exactly the same as the auto 		volume slide, though.

VS- ??		See VS+ ??, only now the volume will be lowered 		of course?

Fig. 2-2 ? Some input.

When entering a special effect watch to the ?hint line? at the bottom of the screen (fig. 2-2). This will help you filling in the special effect!

Inputting the PSG channel

The PSG channel is easy to input. The only possible input is a decimal number from 1 trough 44. The replayer will play the corresponding PSG instrument on the row where the number is inputted. Later in this documentation (the chapter about PIE) will be further explained about this channel.


Inputting the command channel

On the command you can do some special things, such as tempo changes. Here you have a table of all possibilities:

Key
Action
Action
Description
T
Tmp??
Tempo Change
From of this row the play tempo will be changed to ??. This is a decimal number from 1 through 25, where 25 is the fastest.
E
EndOp
End of pattern
This row is the last row that will be played in this pattern. After the row is don, the next position will be played. This proves to be handy when composing songs that are not precisely 1 bar.
R
TRP+/-?
Transpose change
Transpose has effect on all notes in every channel, except the PSG channel. When e.g. inputting TR+1 all notes will be increased with 1 (C 4 becomes C#4). This proves to be handy when repeating large blocks of patterns. It sounds pretty nice to play it with TR+1? ? Can be a number from 1 trough 6, and 0 to reset the transpose.


Editing a pattern

Copy whole patterns
Now that you know how to input a pattern, we?ll continue with how to edit a pattern. You?ll probably see that you want to play a certain pattern more then one time, but with a slightly difference then the original pattern. Well, even if you want to learn to type fast, you?re probably not fund of typing exactly the same pattern all over again. Therefore SCC-Blaffer NT has a few copy possibilities. The first one we?ll handle is the CTRL-P function. With this option you can copy one or more patterns to another part in the song. Try hitting CTRL-P. In the hint line you?ll now see ?Copy pattern(?s): Enter source pattern (0..82): ?. Now type 0 + enter (assuming that on pattern 0 you typed the ?D-3? note as inputted before). Then you?ll get a question of destination pattern. Now type 1 + enter. After that you?ll get the last question: enter number of patterns. Again type 1 + enter. Now pattern 0 is copied to pattern 1. Check with CTRL-RIGHT (as described above). Now you see exactly the same pattern on pattern 1! This is a very handy option, which you probably will use very much.

Copy channel to channel

Another copy function is the CTRL-C function. It works just like the CTRL-P function, only it will copy one channel to another. The ?echo steps? (which will be asked) are the number of rows to skip when copying one channel to another. This can be used to create an echo effect. When e.g. echo steps is set to 1, the source channel is 4 and the destination channel is 5, channel 4 row 1 will be copied to channel 5 row 2. It will copy 16 rows.


Block functions

Fig 2-3 ? Block functions


SCC-Blaffer NT also has another copy function build in. The block functions are to copy parts in the song to another part in the song. Press CTRL-B to mark the beginning of a block, and CTRL-E to mark the end of a block (see fig. 2-3). Here you see that a block is made from row 2, channel 1 through row 9, channel 4. When you are in another part of the song, and you press CTRL-C, the part of selected with the block is copied to the position of the cursor. You can make a block as large as you want it to be? The block functions prove to come in handy when e.g. you have a song which tempo 21 is too slow, and tempo 22 is too fast. Then you set on row 1 (in the command channel) ?Tmp21?, on row 2 you set ?Tmp22?, on row 3 ?Tmp21? again, etc, etc. But typing that is very much work. So when having that, make one pattern full of tempo changes, then block select (of course only the command channel) row 1 through 16, press CTRL-RIGHT (to go to the next pattern) and copy the block (with CTRL-C). After that, select the end of the block at the end of that pattern, press CTRL-RIGHT again, and after that press CTRL-C again. Now it?ll not copy one pattern, but two! And continue doing that until you?ve reached the end of the song?

Press CTRL-D to deselect a block and DELETE if you want to delete a block. When you want to delete a block, the cursor needs to be located inside the block.

Cell copy

The option you will use the most to edit your pattern is probably the enter key. It doesn?t need much explanation. When pressing enter in the pattern editor, the cell where the cursor is located will be filled with the last input you inputted at that channel. The ?cell copy? works in every single cell (including the command values, the PSG channel and the command channel. 
The RAM options

These are one of the most powerful options in SCC-Blaffer NT. It does nothing else as save a complete song to RAM, restore a song stored in RAM, or swap the song stored in RAM with the song that you are editing.

This might prove to come in handy when you?re editing a song, and you think that if you change the song it might sound better. Well, if you then save the song to RAM, and change the song, and if after that you think the old song sounded better, you can restore the song that was stored in RAM!


The active help

SCC Blaffer NT has an option that?s not in any other MSX tracker? The active help especially comes in handy for the ones who start to make music with SCC Blaffer NT. It?s a sort of on-line help document. It contains a short summary of all keys and functions in SCC Blaffer NT. Try hitting SHIFT-F5. This will get you in the main active help screen (fig. 2-5). The active help can be called from any menu. Hitting CTRL-H will get you in the help of the menu where you?re currently in. So if you press CTRL-H in the pattern editor, you?ll get help about the pattern editor.

Fig. 2-4 ? The active help main screen.

Key summary

Of each menu (after explaining the menu) will follow a key summary of all functions. There will also be a short description of the keys. Here is the key summary of the pattern editor. As this is the ?main? menu of SCC Blaffer NT this one has the most key combinations. The key combinations will be in alphabetical order, with the ?graph? functions first, after that the ?ctrl? functions, after that the ?shift? functions, and last all ?1Key? functions.

Key
Description
Graph-1
Force music to go through slot 1
Graph-2
Force music to go through slot 2
Graph-a
Switch all channels 'ON'
Graph-b
Switch auto block marking
Graph-e
Swap equaliser type between 'NORMAL' and 'VOLUME'
Graph-i
Show current loaded instrument kit and the instrument kit that's used by the song
Graph-s
Switch current channel as solo channel
Graph-t
Calculate song time (mm:ss)
Graph-up
Increase last position with 4
Graph-right
Increase last position with 1
Graph-down
Decrease last position with 4
Graph-left
Decrease last position with 1
Graph-del
Delete row
Tab-up
Increase current position with 4
Tab-right
Increase current position with 1
Key
Description
Tab-down
Decrease current position with 4
Tab-left
Decrease current position with 1
Ctrl-a
Switch note audition

When switched on, you will hear all notes you type in. If switched off, you?ll hear nothing when inputting a note.
Ctrl-b
Mark beginning of block.
Ctrl-e
Mark end of block
Ctrl-c
Copy operation

If a block exists, then the block will be copied (if possible) to the current position of the cursor.

If no block exists, then one channel in the current pattern will be copied to another in the same pattern.
Ctrl-d
Deselect block
Ctrl-g
Grab instrument

(see fig. 2-3, row 2, channel 3)

When the cursor is located at a position where an ?INS? event will take place press CTRL-G to change the current instrument to the number located at after the ?INS
Ctrl-l
Change loop position
Ctrl-n
Change song name
Ctrl-p
Copy one or more patterns to another place in the song
Ctrl-r
Reinitialise SCC
Ctrl-s
Swap settings scan
Ctrl-t
Change initial tempo
Ctrl-x
Switch cursor mode
Ctrl-home
Changes the current pattern to the pattern that will be played in this position
Ctrl-del
Delete pattern
Ctrl-up
Increase current pattern with 4
Ctrl-right
Increase current pattern with 1
Ctrl-down
Decrease current pattern with 4
Ctrl-left
Decrease current pattern with 1
Shift-1,2,3,4,5,6
Switch channel x 'ON' or 'OFF'
Shift-home
Cursor home (moves cursor to row 1, channel 1)
Shift-delete
Delete column
Shift-up
Increase the current volume with 1
Shift-down
Decrease current volume with 1
Shift-right
Increase current instrument with 1
Shift-left
Decrease current instrument with 1
Shift-[
Decrease the current octaves
Shift-]
Increase the current octave
Shift-.
Shift up 1 octave

If the cursor is located inside a block, then all notes in the block will be increased with 1 octave. If the cursor is located outside a block, then all notes in the current column will be increased with 1 octave.
Shift-,
Shift down 1 octave. (See shift-.)
Select
Switches interrupt frequency between 50Hz and 60Hz and is ALWAYS available in SCC-Blaffer NT.
. (dot)
Shift up  note. (See shift-.)

Only now all notes will be increased with 1/2 (c-1 will be c#1)
, (comma)
Shift down 1/2 note. (See shift-,)

Only now all notes will be decreased with 1/2 (c#1 will be c-1)
Key
Description
f1
Play song from current position
f2
Play pattern on screen
f3
Go to instrument menu
f4
Go to PSG editor.
f5
Go to disk menu.
Shift-f1
Go to pattern/position menu
Shift-f2
Reset song
Shift-f3
Go to info/settings menu
Shift-f4
RAM options (load/save/swap)
Shift-f5
The standard help screen (introduction of Blaffer NT)
Up
Move cursor up over grid.
Down
Move cursor down over grid.
Left
Move cursor left over grid.
Right
Move cursor right over grid.
] or NUM .
Move cursor right, way 2
[ of NUM ,
Move cursor left, way 2
Enter
Cell copy

The last operation inputted on the current channel, will be entered?
Delete
Delete operation.

If the cursor is located inside a block, then all cells within the block will be deleted.

If the cursor is located outside a block, then the current note and value or only the value will be deleted (depends on where the cursor is located.)
Home
Go to position 0
Insert
Insert row
CAPS
Switch edit mode (see note input)

In the three options that follow, 'with block' means that a block exists, and that the cursor is located inside the block. These options can also be used in the 1Key edit mode, but then shift also has to be pressed. (z will be shift-z)

Key
Description
Z
Fill in volumes 1

With block:

Will fill all places in the block that are empty, or contain a note with the current volume...

Without block:

Will fill the places in the current column that are empty, or contain a note with the current volume...


Key
Description
Graph-x
Fill in volumes 3

With block:

Will fill all places in the block that are empty with the current volume...

Without block:

Will fill all places in the current column that are empty with the current volume...


The playing of a song

After the user pressed f1, the song will be played from of the current song position. If the current pattern does not compare with the pattern that should be played, then the pattern that should be played will be the pattern that will be played... When playing from of position 0 then the tempo, which will be played, will be the initial tempo. Also all the song settings will be conveyed. When a song is not played from of position 0, then the settings scan comes in action (if switched on that is of course)... This option will scan from of position 0 till the current position for a few settings that may occur in the song. These are: Instrument changes, detune settings, transpose settings, auto volume slides and of course the play tempo.

When playing the song, it'll play until (if the 'Loop position' is OFF that is) the last position is played. If there is a 'Loop position' then the current play position will be set to the 'Loop position'. In this way the song is 'trapped' in an infinite loop. But, the song can be stopped manually. Actually there are 2 ways to stop a song:

Key
Description
ESC
The song stops, de current position and pattern will be what they were before the song was playing.
STOP
The song stops, the current position and pattern will be what they were at the last moment the song was playing.


Other key combinations while playing:

Key
Description
Graph-e
Swap equaliser type between 'NORMAL' and 'VOLUME'
Graph-1..6
Channel x will play solo
Shift-1..6
Switch channel 'ON' or 'OFF'


The playing of a pattern

Plays a certain pattern. Well, actually it plays the pattern that is currently on screen. Also if the pattern doesn't 'belong' to this position, it will be played. The playing (of course) stops after the pattern is played. For the rest there are no differences between playing a pattern and playing the song.


The pattern/position editor

Now you know how to edit a song, we?ve come to the pattern/position editor. In this menu you can edit the patterns played at certain positions. We?ll not explain the pattern/position editor as detailed as the pattern editor, as the interface in whole SCC-Blaffer NT is almost the same. Press SHIFT-F1 in the pattern editor to come to the pattern/position editor (as described in the key summary of the pattern editor)

Fig 2-5 ? The pattern/position editor.

As you can see at the right hand of the screen, most of the things that are in the pattern editor are also located here (in shorter form that is). Move the bar with the cursor keys and see that selecting a pattern is quite easy. To alter a pattern press space or return. When altered, the pattern you typed in will be played at that position. Two very handy options are the ?Insert pattern? and ?Delete pattern? options. Press INS or DEL to respectively insert or delete a pattern at the current position. When the position is lower or equal to the last position, the last position will be incremented or decremented, so you won?t have to alter that. Most key combinations in the pattern/position editor have the same function as in the pattern editor, though some are gone, and some have other functions. What makes the pattern/position editor very special is that in this menu also are block functions (see fig. 2-6)


Fig. 2-6 ? Block functions in the pattern/position editor.

The block functions work exactly the same as in the pattern editor, so that?s a cookie?

Key summary

Key
Description
Select
Switches interrupt frequency between 50Hz and 60Hz and is ALWAYS available in SCC-Blaffer NT.
Graph-1
Force music to go through slot 1
Graph-2
Force music to go through slot 2
Graph-i
Show current loaded instrument kit and the instrument kit that's used by the song
Graph-g
Grab loop position.

The loop position will be set to the current position. When it?s higher as the last position, the last position will be adjusted.
Graph-t
Calculate song time (mm:ss)
Graph-up
Increase last position with 4
Graph-right
Increase last position with 1
Graph-down
Decrease last position with 4
Graph-left
Decrease last position with 1
Ctrl-b
Mark beginning of block.
Ctrl-e
Mark end of block
Ctrl-c
Copy operation

If a block exists, then the block will be copied (if possible) to the current position of the cursor.
Ctrl-d
Deselect block
Ctrl-g
Grab last position.

The last position will be set to the current position. When it?s lower as the loop position, the loop position will be adjusted.
Ctrl-l
Change loop position
Ctrl-r
Reinitialise SCC
Ctrl-s
Swap settings scan
Ctrl-t
Change initial tempo


Key
Description
HOME
Home position.

Go to position 0
Delete
Delete pattern
All following patterns will be shifted to the previous position. Position 255 gets the value 0.
Insert
Insert pattern

All following positions are shifted to the next position, position 255 is lost. After the shift you need to input the pattern at the position where you pressed insert.
F1
Play song
F2
Play pattern
ESC
Return to pattern editor


Playing a song in the pattern/position editor:

Exactly the same as the normal play song, only the shift-1..6 and graph-1..6 aren't valid anymore...
Play pattern in pattern/position editor:

Exactly the same as the normal play pattern, only the shift-1..6 and graph-1..6 aren't valid anymore...

The instrument selector

When pressing F3 in the pattern editor, you?ll end up in the instrument selector. In this menu you can select the ?current instrument? that?s in the pattern editor. You can alter the current instrument in the pattern editor (with SHIFT-LEFT or RIGHT), but this gives a better perspective because you can see 65 instruments at the same time. Select an instrument while using the cursor keys. If you press down or right on the last instrument (in fig. 2-7 instrument 103), the screen will scroll? In total there are 207 instruments to select. When you have selected the instrument you want to select as current instrument, press SPACE, RETURN or ESCAPE to return to the pattern editor. The last selected instrument will be the current instrument.

Fig. 2-7 ? The instrument selector

Below the hint line (the last line you see on your screen) you see ?Octaves? and ?Channels in use?. The ?Octaves? are exactly the same as in the pattern editor. What the instrument selector makes special is that you can play some notes of the instrument. In total up to 5 notes from 2 octaves can be played at the same time. This is of course because the SCC has 5 channels to play them on. The keyboard layout is the same as in the pattern editor. Here you see the keyboard layout again:

Note			C#   D#         F#   G#   A#         C#   D#          F#  G#   A#




What you type

What you type

Note		          C     D     E    F     G    A     B     C    D     E     F    G     A     B



In this way e.g. Q + E + T will play an C chord...

Sometimes the sound can hear pretty false... This is a hardware bug in the MSX... Try hitting E + T + U... These are three keys, but on screen you see the active channels showing that 4 channels are playing. This is the bug. The MSX somehow sees that 4 keys are pressed, and SCC Blaffer NT plays (as it should, because the MSX says so) 4 channels. Try hitting '[' (lower octaves) and after that C + B + M... Now the same notes are played correctly... And this does not sound false at all...

Also in this menu you can set the start instruments of channel 1 through 4. As the SCC has five channels you might say that it?s kind of strange that on channel 5 you can?t set a start instrument. Yes it is, but channel 5 uses the instrument of channel 4. That?s just how the SCC?s hardware is build up, so we can?t change that. In any case, press F1 through F4 to set the start instrument of the channel with the corresponding function key.


Key summary

Key
Description
Ctrl-n
Change instrument name?
Select
Switches interrupt frequency between 50Hz and 60Hz and is ALWAYS available in SCC-Blaffer NT.
Cursors
Select instrument
[
Lower current octaves
]
Increase current octaves
F1..F4
Set start instrument for channel x
F5
Go to SCC instrument disk menu
SHIFT-F1
Go to instrument editor
Space, return or escape
Return to pattern editor
TAB
Go to start settings menu (located at the bottom side of the screen (see fig. 2-7))



The start settings menu

When hitting TAB in the instrument selector you?ll come to the start settings menu (see fig 2-8). In this menu you can set some settings with which the song will start playing. As you can see in fig 2-8 you can set the following things.

* Start instruments			The instruments with witch will be started playing
* Start volume settings		The volumes with which will be started playing
* Auto volume slide settings		The auto volume slides with witch will be started playing
* Detune settings			The detune settings with witch will be started playing

Fig. 2-8 ? The start settings menu


The playing of notes is also available. The instrument set for the current channel will be used to play.

Key summary

Key
Description
Shift-up, Shift-right,
Ctrl-up or Ctrl-right
Value +1
Shift-down, Shift-left,
Ctrl-down or Ctrl-left 
Value ?1
TAB
Return to instrument selector
Escape
Return to pattern editor, the last instrument selected with the instrument selector will be the current instrument.
Select
Switches interrupt frequency between 50Hz and 60Hz and is ALWAYS available in SCC-Blaffer NT.

The instrument editor

When pressing SHIFT-F1 in the instrument selector, you?ll end up in the instrument editor (See fig. 2-9). In this menu you can edit existing instruments, and make new instruments. On the right hand side of the screen you see the actual instrument graphically. On the left side you see some information: The instrument number and name, the instrument data in text. Under that you see current octaves and active channels. It works the same as in the instrument selector. As soon as you start the instrument editor, you are editing the instrument selected with the instrument selector. Press UP and DOWN to change the value of the current offset. SHIFT and UP or DOWN results in a much faster cursor movement. In total there are 32 offsets. Change the current offset with LEFT or RIGHT. When you want to delete the instrument press CTRL-DEL, and if you think your creation is not as cool as you thought it would be, press HOME to restore the instrument to what it was the moment you popped up the instrument editor.

As you can see in fig. 2-9 the two lines which change when you edit the instrument get a different colour. This colour becomes white again when you stop editing it.

Hint: Try listening to the instrument while editing it. The result you then can directly hear!


Fig. 2-9 ? The instrument editor.

Key summary

Key
Description
CTRL-DEL
Delete instrument
CTRL-UP
Increase current instrument with 4
CTRL-DOWN
Decrease current instrument with 4
Right
Increase current offset (1..32)
Left
Decrease current offset (1..32)
Up
Increase current offset data
Down
Decrease current offset data
Home
Restore instrument data
]
Increase current offset
[
Decrease current offset


PIE (the PSG instrument editor)

When hitting F4 in the pattern editor, you?ll end up in the PSG instrument editor. These are the instruments that will be played on the PSG channel when playing a song. As soon as PIE starts, you'll see a screen, where on the right side the current instrument number and name is displayed. Beneath that, there's a short summary of the most important functions and their keys...

At the left side of the screen you see the editor. The screen displays exactly one instrument. By using the cursor keys, the cursor moves over the grid. At the top of each column you see the purpose of each column... Here are their descriptions:


Column(s) 
Name
Description
1
Command
In this column a special command can be given, such as tempo, pointers, etc.
2, 3 and 4
Frequency
You can enter a Hexadecimal number from $000 till $FFF in these columns... The higher the number, the lower the frequency.
5, 6 and 7
Noise
These columns determine if noise should be produced on that row ('ON' means there's noise, '--' means there's no noise)
8
Noise frequency
In this column the noise frequency is set. This noise frequency will affect all 3 PSG channels because the MSX hardware does not support separate channel settings for noise.
9, 10, 11
Volume
These columns contain the volume settings for each channel. Volumes from 1 to 15 are allowed.


A little PIE example instrument

To better understand how the replayer of PIE works, here's a little example...

Fig. 2-10 ? A little PIE example

The screen shown at fig. 2-10 will (when you press F1) produce a snare drum. See it like this: The replayer starts with putting $200 in the first frequency channel. The noise that will be created on channel 1, will be set on frequency 111860Hz The volume on channel 1 will get the value 13. Where you see dashes, no changes will be made to the currently playing effects. After exactly 1/50 second, the replayer will continue with the next row. There you see Rep: 8. This means that if the replayer encounters a ?DoRep? command on the command channel, it will jump back to that (the second) row, until it has done this 8 times (comparable with a FOR..NEXT loop in BASIC)... Also on this row the first channel's noise frequency (again) is set to 111860Hz. Further more you see a ?d:01? command on the channel 1 volume column. This means the volume at channel 1 will decrease by 1 (at the first time it will be 12, at the second time it will be 11, etc.). After another 1/50 second the replayer will jump back to the second row. This process will be repeated 8 times. After that you see the replayer runs in to an ?EndOp?. This means that the instrument is finished playing, and will no longer make any sound.


Inputting commands, frequencies, volumes, etc.

Here?s a summary about how to input an instrument. It works the same as the (main) pattern editor, only the keys are (of course) different, just as their effect.

The command channel (column 1)

Key
Real name
On screen name
Description
R
Repeat
Rep:??
Where ?? is a number from 1 through 15, defining the number of times the loop is to be executed.
D
Do repeat
DoRep
If a DoRep is encountered the replayer will jump back to the position at which the last ?Rep:??? was defined. After finishing the loop the replayer will continue playing the following columns at the same row. After that the replayer will continue at the row following the DoRep.
W
Wait a little bit
Wait:?
Where ??? is a number ranging from 1 to 9. This will result in an extra ?/50 second wait before the next row is executed.
P
Set pointer
Point
Set pointer on this row.
G
Go to point
GotoP
Continue playing at the row containing the last ?Point? instruction, resulting in an infinite loop.
E
End of pattern
EndOp
Stops replaying the PSG sound.
T
Change tempo
Tmp:??
Makes the replayer wait for (15-??)/50 second before it continues executing the next row. ?? is a number from 0 through 15, with 0 being the slowest setting...


The frequency channel (columns 2, 3 and 4)

Key
Real name
On screen name
Description
0..9, A..F
Enter frequency
???
Enter a frequency in the range of $000..$FFF. The lower the number, the higher the frequency.
+
Increase frequency
+??
After the plus enter a number from $00 till $FF. This raises the frequency by ?? in this row.
-
Decrease frequency
-??
After the minus enter a number from $00 till $FF. This lowers the frequency by ?? in this row.
O
OFF event
OFF
The frequency currently playing on this channel will be turned ?OFF?

You can also enter 'notes'. The computer-keyboard is music-keyboard again.
For example, typing SHIFT+Z will play a C note. Using TAB + RIGHT or LEFT you can
select an octave (1-8).

The computer-keyboard is defined as follows:

Note			C#   D#         F#   G#   A# 




What you type

What you type

Note		          C     D     E    F     G    A     B

Here the Z is a [C ?] note, the S is a [C#?] note and so on.


The noise channels. (column 5,6 and 7)

Key
Real name
On screen name
Description
Space
Toggle noise
? ? ? or ? ON ?
Toggle noise ON or OFF for this channel at this row.


The noise frequency. (column 8)

If a plain number is entered here, all noise channels set 'ON' will be set to this frequency.

Key
Real name
On screen name
Description
Shift-right
Increase noise frequency
?????Hz
Increase the noise frequency.
Shift-left
Decrease noise frequency
?????Hz
Decrease the noise frequency.
U
Increase frequency while playing
U:??
After the ?U? enter a number from 0 till 31, resulting in the noise frequency being raised by ??...
D
Decrease frequency while playing
D:??
After the ?D? enter a number from 0 till 31, resulting in the noise frequency being lowered by ??...


Volume channels (column 9, 10 and 11)

Key
Real name
On screen name
Description
0..9
Enter volume
??
Enter a volume in the range of 1..15. The higher the number, the louder the frequency.
U
Increase volume 
U:??
After the ?U? enter a number from 0 till 15, resulting in the volume being raised by ??...
D
Decrease volume
D:??
After the ?D? enter a number from 0 till 15, resulting in the volume being lowered by ??...

When raising or lowering the volume, should it exceed the top or bottom values (0-15) it will be clipped at its maximum or minimum.


Global key summary

PIE also has some global keys (of course):


Key
Description
Tab-right
Increase current octave
Tab-left
Decrease current octave
Ctrl-right
Increase current instrument with 1
Ctrl-left
Decrease current instrument with 1
Ctrl-up
Increase current instrument with 4
Ctrl-down
Decrease current instrument with 4
Ctrl-n 
Change the name of the current instrument (max. 8 characters)
Enter
Repeat last action executed on that channel.
Insert
Insert row, row 16 is lost.
Delete
Delete cell
Shift-delete
Delete column
Graph-delete
Delete row, row 16 becomes empty
Ctrl-delete
Delete pattern
F1
Play instrument. The initial tempo is 15. (the fastest)
Stop
Stop sound (If the instrument is finished playing, and there are still sounds to hear, the sound is turned off... If the instrument is still playing, the playing will also stop.)
Select
Switches interrupt frequency between 50Hz and 60Hz and is ALWAYS available in SCC-Blaffer NT.
Escape
Quit PIE, and return to the pattern editor
Cursors
Move cursor over grid
F5
Go to disk menu.



The disk menu

The disk menu is of course here to load and save your creations made with SCC-Blaffer NT. It?s pretty special, because it has some features we never saw before in any MSX program.
The main disk menu

Fig. 2-11 ? The main disk menu


Here you see the disk menu when it?s called from the song editor. First we?ll explain what you all can see on the screen. The large box on the upper side of the screen, is where all filenames are showed when selecting a file. Beneath that on the left hand side of the screen you see ?Filter:?. This filter is there to filter out the files you want to see. You can alter it with CTRL-F (if the filter is ?AB*.SBM? all files starting with ?AB? and with the extension ?SBM? are shown when loading, saving, or deleting a file). Beneath that you see ?Songs?. That is a description of in which disk menu you are currently in (e.g. in the instrument kit disk menu the description is ?Instrument kits?. Beneath the disk menu description you see ?drive:? and ?Available drives?. Drive is the current drive. All disk operations will use this drive. The highlighted bar at the available drives are the drives available in your hardware configuration (in this screen only drive A and B). Above the available drives you see ?Info? and ?Full name:?. This is only used when selecting a file. This will be explained later.


Key summary

Key (or option)
Description
Load from file
Load file into memory
Save to file
Save memory to file
Show files
Show all files with the current file filter
Delete file
Remove file from disk
Format disk
Format disk in current drive
Ctrl-f
Change file filter
Ctrl-a
Set file filter on 'All files'
Select
Switches interrupt frequency between 50Hz and 60Hz and is ALWAYS available in SCC-Blaffer NT.
Escape
Leave disk-menu. If you're in the Instrument kit disk menu there will be returned to the menu where the disk menu was called from
A..P
Select a drive.

Selecting a file

Fig. 2.12 ? Selecting a file


When selecting a file, notice the ?Info? and ?Full name?. The info show?s what kind of file you?re currently selecting? This is (according to us) never done before on MSX! Also you see the full name of the file at ?Full name?. Press SPACE or RETURN to select the file you?re currently on. SCC Blaffer will warn you if you try to load a file which doesn?t have the original extension.

Key summary

Key
Description
Ctrl-r
Reload files with current file filter
Ctrl-a
Set file filter on 'All files' and Reload files
F5
Go to instrument kit disk menu
Escape
Cancel ?load?, ?save? or ?delete? file
The info and settings menu

When hitting SHIFT-F3, you?ll end up in the info and settings menu. In this menu you can set all 'user preferences', and of course you can save 'em... Also you find an RC shower right here. There you can see if there's an SCC detected, and the coolest part is that you can see which SCC is detected! All ROMS ever made by Konami (if they have a RC number stored in the ROM) will be recognised. As soon as an SCC is detected, it will be used as primary SCC... 

(We?re very proud of this!)

Fig 2.13 ? The info and settings menu (watch the RC shower)

On the upper-right hand side of the screen you see the main menu of the info and settings menu. Here you can choose out of 4 options.


Option
Description
Edit colour settings
With this option you can set all colours with which SCC Blaffer NT will start.
Edit predefined settings
With this option a few other things can be set.
Save all settings
Saves all things that can be set with the 2 last options.
Leave menu
Return to the song editor (Escape has the same function)


The colour settings can be easily adjusted... Press UP and DOWN to select the colour you wish to change. Then press A, S, or D to increase the intensity of respectively red, green or blue... And press Z, X or C to decrease the intensity of red, green or blue...

The best part is that you can press more keys at the same time to change the colour. For example, when you press Z and C, then (if possible that is, of course) the red and the blue intensity will be lowered with 1... 

With shift 1..7 you can also set some 'predefined' palettes:

1. Factory settings
2. Midnight tracking
3. Gold
4. Red
5. Green
6. Blue
7. I?m a PIG! (the ugliest we could think of :))

Try ?Midnight tracking? and ?Gold?... Those are the most relaxing for your eyes...

Predefined settings

Of course use the cursor to select an option. Editing predefined settings is done as follows:


Option
Key
Action
Interrupt frequency
Space
50/60Hz
Settings scan
Space
ON/OFF
Note audition
Space
ON/OFF
Equaliser type
Space
Normal/Volume
Cursor type
Space
Normal/Switched
Edit mode
Space
Type/1Key
Octaves
[ and ]
[  1][1-2]..[7-8][8  ]

Save all settings.

Saves all colour and predefined colour settings to disk in drive A:. When a disk-error occurs, this will be noticed in the hint-line at the bottom of the screen. There will not be automatically tried to save the settings again. You will return to the main menu of the info/settings menu.

The replayer
The SCC-Blaffer NT replay routine (BNTPLAY.BIN) is made to play the music made with the SCC-Blaffer NT editor. As it is a call-based replayer, ML users can better rip the replay routine from the source (delivered with the package)... BASIC Programmers should have no troubles whatsoever using the replay routine...

See it like this:

For BASIC users it's easier to use BNTPLAY.BIN than killing a bunny with an axe and for ML users this file is harder to use than shitting on a crocodile... (Except if you're crocodile Dundee that is...) 

(See, we didn't lost our dumb humour, SCC Blaffer NT just was a 'serious' project)

Info for BASIC users:

Starting the replayer...

The replayer has to be loaded into memory (of course). After that the calls have to be initialised... It's easy to do that... BASIC Users only have to type BLOAD "BNTPLAY.BIN",R... After that the replayer will be loaded into memory, and the call's will be initialised... To let everything go how it should you must protect a little bit memory located at $da00... That memory is used by the loading routines, and it will contain some information about the song while it plays. That information can be read by the BASIC user, therefore it will be explained at the end of this document. You can protect the memory by typing CLEAR 200,&hDA00... In this way we avoid BASIC using these addresses...

Getting things to work

As the SCC works different then the MSX-AUDIO, MSX-MUSIC and the MoonSound, the replayer has to initialise the SCC... This is simply done by CALL InitSCC. After that you'll see a message... That message will show you if an SCC is detected, and also in which slot it is detected. If no SCC is detected, the message will show you that no SCC has been detected... Well, after that you have to load a song and an instrument kit to play it... This can be easily done by CALL SBKLoad ("BLAF_NT.SBK") and CALL SBMLoad ("SDCHURCH.SBM") (in this example we use one of SCC Blaffer NT delivered example songs)... When you've done that, you're ready to play... But first we'll show you how you're screen can look like... 

bload "BNTPLAY.BIN",r
files								(I don't know anyone who has a different prompt!)
_InitSCC
SCC Initialise successful (slot 2)...
files
_SBKLoad ("BLAF_NT.SBK")
files
_SBMLoad ("SDCHURCH.SBM")
files


Now you're ready to play the song... By typing _BNTPlay you'll get the desired result... After that the song plays! Well... This is how the routine works...

Other things:

When a disk-error occurs, a message + a little help will be shown. The message will contain what error occurred. The help show's how to use the disk-routines. (For example if you type _SBMLoad ("123456789.123") the routine will show that the specified name is too long, as a filename may not be longer than 8 characters (excluding the extension which may be 3 characters of course)). The following disk-errors can occur:



Error
What is wrong
Disk offline
The drive does not contain a diskette.
Disk I/O Error
The routine cannot read from the disk, because it is broken or something like that...
File not found
The disk does not contain the file you tried to load...
This ain't no song
The header of the file does not contain the SCC Blaffer NT Song header...
This ain't no instrument kit
The header of the file does not contain the SCC Blaffer NT Instrument kit header...
Unknown
The disk-error that occurred is not known to SCC Blaffer NT...

Now you might say ok... This is pretty cool, but imagine I have a program, and I do not want to have those (then) irritating messages because it looks strange... Well, we thought of that too... The command _BNTSilent disables all messages, so you can 'silently' use it in your program... And now you might say hey! But when my program loads a song or instrument kit, I would like to know whether it was loaded successfully, cause else if I type _BNTPLay, I'll hear nothing but crap, and the replayer probably will hang! Well, we also thought of that. When you try to load a song or instrument kit, you can test whether it was loaded successfully... When the file you tried to load is not loaded correctly, the replay routine gives an error-code 100 back to BASIC. When it was successful, it will contain 0. You can test this like this: 
...
120 _BNTSilent
130 _SBMLoad ("TEST1.123")
140 IF ERR = 100 THEN PRINT "Song not loaded successfully!":END
150 _BNTPlay
...

Ok... You now say, that's cool, but... I also would like to know whether them SCC was detected successful, and if it's possible in which slot it was detected... Also we thought of that. When no SCC was found an error-code 100 is returned, else an error-code 1 or 2 (depending in which slot it was detected will be returned...) You can test this the same way as shown above...

Well... I think now you'll know everything what you need to know, so here's a list of all available commands:


Command
Description
_SBKLoad ("[D:]FileName.Ext")
Loads an instrument kit into memory

[]		Means that it is optional...
D		Drive name	(max. 1 character)
FileName	File name	(max. 8 characters)
Ext		File extension	(max. 3 characters)
_SBMLoad ("[D:]FileName.Ext")
Loads a song kit into memory

[]		Means that it is optional...
D		Drive name	(max. 1 character)
FileName	File name	(max. 8 characters)
Ext		File extension	(max. 3 characters)

_BNTPlay
Starts playing the current loaded song.

This option is only available when the music is *NOT* playing!
_BNTStop
Stops playing the current loaded song.

This option is only available when the music is playing!
_BNTHalt
Pauses the playing song...

This option is only available when the music is playing!
_BNTCont
Continues playing the paused song.

This option is only available when the music is paused!
_PlayVer
Displays the replayer version, and some info...
_BNTSilent
Disables all messages.
_BNTLoud
Enables all messages.
_InitSCC
Initialises SCC.

This option is only available when the music is *NOT* playing!
_Force (<slot>)
Where <slot> is the slot number you want the music to go through... <slot> can be a number from 1 through 2...
_SNGBank (<bank>)
Where <bank> is the memory bank you want your song to be stored... Default: 3. 

This option is only available when the music is *NOT* playing!
_KITBank (<bank>)
Where <bank> is the memory bank you want your instrument kit to be stored... Default: 4.

This option is only available when the music is *NOT* playing!


Information for ML users:

ML Users probably found most information they need in the text above... There are a few more things that are interesting for ML users though... As the source code is delivered with the package, the ML user can compile the source again. What is interesting for BASIC users is that in the source are a few equals, which can be altered... 

Some equals

Equate
Function
RomBank
This equate contains the 'default' bank the replayer stores itself. Normally this is 2.

(This can't be lower (for BASIC users) because bank 0 is used by the system, and the BASIC program uses bank 1 (and if it's a large program it will also use a bit of bank 0)...
SongBank
This equate contains the 'default' bank the song will be stored in. Normally this is 3.
KitBank
This equate contains the 'default' bank the instrument kit will be stored in. Normally this is 4.
SilentComp
This equate determines whether the replayer should be compiled with the _BNTSilent and the _BNTLoud... If this equate equals 0, the replayer will be compiled with these options build in. Else the replayer will not compile these options, and the replayer will always be 'silent'...

As said before, ML users can better rip the replayer from the source. But remember to use the loading routine that is in the source, 'cause you cannot load it as a contiguous block (read SBM_FRMT.TXT for that). The instrument KIT can be loaded as a contiguous block, but don't forget to skip the header! Also keep address $da00 till about $da80 free, because the replayer (and the loading routines) store some data there... For the rest it's not a big problem...

The storage of songdata:

MusicAddress			.equ $8000			; Address of the music
SongName			.equ MusicAddress		; Name of the song
InsKitName			.equ SongName+67		; Name of the ins. kit
LastPos			.equ InsKitName+11		; Last Position
LoopPos			.equ LastPos+1			; byte 1: Loop position?
       ; byte 2: Position to loop
Patterns			.equ LoopPos+2		; Patterns to play
InitialTempo			.equ Patterns+256		; Initial tempo
StartVolumes			.equ InitialTempo+1		; Initial volumes
StartInstruments		.equ StartVolumes+5		; Initial instruments
DetuneSettings			.equ StartInstruments+4	; Detune Settings
VolumeSlideSettings		.equ DetuneSettings+5		; Auto vol. slide settings
PatternData			.equ MusicAddress+448	; Pattern data


Addresses to read:

Name
Address
Size
Description
MusicPlay
$da26
1 Byte
Is music playing? <>0 if so.
MusicPeak
$da27
1 Byte
Has a new row started??
SccSlot
$da28
1 Byte
Current SCC Slot. (slot * 16)
SngBnkPlay
$da29
1 Byte
Song bank
InsBnkPlay
$da2a
1 Byte
Instrument bank
SngPos
$da2b
1 Byte
Current song position
SngRow
$da2c
1 Byte
Current song row
SngTmp
$da2d
1 Byte
Current song tempo
SngFreqs
$da2e
10 Bytes
Current frequencies
SngVolumes
$da38
5 Bytes
Current volumes

Current frequencies

5 * 1 word of frequency data. The first one contains the frequency that is currently playing on channel 1, the second of channel 2, etc.

Current volumes

The first byte contains the volume of channel 1, the second one of channel 2, etc, etc.


Well, that's it... Take a look at BNTPLAY.BAS for a little example program.

The file formats

SCC-Blaffer NT comes with 4 new file types. Here they are:

Extension
Name
Function
SBM
SCC Blaffer NT Music
This file type contains a song made with SCC Blaffer NT.
SBK
SCC Blaffer NT Instrument Kit
This file type contains an instrument kit made with SCC-Blaffer NT.
SBS
SCC Blaffer NT SCC Instrument
This file type contains one SCC-Instrument made with SCC-Blaffer NT.
SBP
SCC Blaffer NT PSG Instrument
This file type contains one PSG instrument made with SCC Blaffer NT or PIE (see FD 42)



SBM files

File offset
Length (in Bytes)
Description
$000..$00F
16
Init. Bytes (Blaf NT Song    )
$010..$052
67
Song name
$053..$05D
11
Instrument kit name
$05E..$05E
1
Last position
$05F..$060
2
Loop Position
$061..$160
256
Patterns to play
$161..$161
1
Initial tempo
$162..$166
5
Start Volumes
$167..$16A
4
Start Instruments
$16B..$16F
5
Detune Settings
$170..$174
5
Auto volume slide settings
$175..$1CF
91
Future expansions
$1D0..$1D0
1
Number of patterns stored
$1D1..EOF
?
Pattern data

The initialisation bytes are of course to recognise the song when it's loaded. The song name is also clear, the instrument kit has 11 characters, because the extension is also saved along with the instrument kit. This is (of course) done because you can load files with another extension then the original in SCC-Blaffer NT. The last position is also clear, the loop position has two bytes, because you can loop from position 0 till position 255, and you can set the loop position OFF. The first byte determines whether to loop or not. If the first byte is zero, then there's a loop position, else the loop position is OFF. Patterns to play are the patterns to play at the positions. The initial tempo is clear, the start instruments only have four bytes, that's (of course) because of the fact channel 5 hasn't got it's own instrument (it uses the instrument of channel 4). Detune settings is clear, also as the auto volume slide settings. The future expansions data is empty data, and may be used in future versions of Blaffer NT. This is done to keep the loading of a song in future versions simple.

A pattern is build as follows:

The first 2 bytes contain the address where to store the pattern. After those 2 bytes, the pattern data comes. The pattern data is build as follows: 

16 rows * ( (5 channels * 2 bytes) + 2 bytes ).


Five channels of 2 bytes is clear, the 2 bytes after that are the PSG channel value, and the command channel value. So a pattern has 16*12 bytes = 192 bytes, plus the 2 pointer bytes, that's in total 194 bytes.

Now you might say hey!, why do you use a pointer to store an pattern?? Well, that's quite simple. When a song has e.g. 2 positions (last position = 1) and on the first position you use pattern 0, and at the second you use pattern
82, and when we save the song from pattern 0 till the highest pattern used, then the song is very large, and pattern 1 till 81 are not in use! So when we store the patterns that are used, (0 and 82) then we only have to store 2 patterns, but only the addresses won't be correct, so that's why the address as a pointer is stored...

So a song is always
16 + 67 + 11 + 1 + 2 + 256 + 1 + 5 + 4 + 5 + 5 + 1 + 91 + ( ( number of patterns used ) * 194 ) bytes large.

In this way a song can be exactly 16567 bytes large. Well, that won't fit in one memory bank (16384 bytes), you might say. Yep, that won't fit, but check this: The addresses of the patterns are only stored in the song, they won't be stored in RAM, so we get rid of 166 bytes. Well, seen that 16597 ? 166 = 16401. And the number of patterns byte doesn't have to be stored, so 16401 ? 1 = 16400, and the song-header doesn't have to be stored either, so 16400 ? 16 = 16384 bytes! And that will fit in 1 memory bank!


In ML use these bytes to read some info..

MusicAddress			.equ $8000
SongName			.equ MusicAddress
InsKitName			.equ SongName+67
LastPos			.equ InsKitName+11
LoopPos			.equ LastPos+1
Patterns			.equ LoopPos+2
InitialTempo			.equ Patterns+256
StartVolumes			.equ InitialTempo+1
StartInstruments		.equ StartVolumes+5
DetuneSettings			.equ StartInstruments+4
VolumeSlideSettings		.equ DetuneSettings+5
PatternData			.equ MusicAddress+448

SBK, SBI and SBP files

In total an .SBK file stores 207 SCC instruments, and 44 PSG Instruments...

SCC storage:

One instrument contents 40 bytes of data. 8 Bytes for the name and 32 Bytes data.

The data is stored as follows...

Offset
Size (in Bytes)
Description
$000..$007
8
Name of SCC instrument
$008..$027
32
Instrument data

PSG Storage:

One instrument contains 184 bytes of data. 8 Bytes for the name and 176 Bytes data.

The data is stored as follows...

Offset
Size (in Bytes)
Description
$000..$007
8
Name of PSG instrument
$008..$0B7
176
Instrument data


Instrument kit storage

File offset
Size (in Bytes)
Description
$0000..$000F
16
Instrument kit header (Blaf NT Ins Kit )
$0010..$0017
8
Name of SCC instrument 0
$0018..$0037
32
Data of SCC instrument 0



$2040..$2047
8
Name of SCC instrument 206
$2041..$2067
32
Data of SCC instrument 206
$2068..$206F
8
Empty data (********)
$2070..$2077
8
Name of PSG instrument 0
$2078..$2127
176
Data of PSG instrument 0



$3F58..$3F5F
8
Name of PSG instrument 44
$3F60..$4010
176
Data of PSG instrument 44

In this way an instrument kit is always 16400 bytes large, but when stored in memory, the header won't be stored, so then there remains 16384 Bytes... And that will fit exactly in one memory bank! 

SBS and SBP files

The storage of the .SBS, and .SBP files are exactly the same as explained above, only the file will store an 16 Byte header to the file... 

The headers:

For SCC instruments: "Blaf NT SCC Ins "
For PSG instruments: "Blaf NT PSG Ins "

So .SBS files are always 56 Bytes large, and .SBP files are 200 Bytes large.

The final words?

This was the documentation of SCC-Blaffer NT. We hope you now know all functions of the tracker, and remember the active help? This will probably help you a lot. We really hope you?ll have a good time using this tracker, and we hope to see some demo?s (or maybe even games?) with music made with SCC-Blaffer NT from you!

Trouble shooting
We thought a trouble shooting guide could come in handy. So here it is...

I can?t hear the PSG!
When you can?t hear PSG sounds, but when pulling out the SCC, you can hear PSG sounds, then the manufacture of your MSX computer forget to build in a resistor in the slots of your machine. The NMS 8250, NMS 8255 and NMS 8280 are some examples of that. There are several ways to solve this problem. Try taking a look at: http://www.faq.msxnet.org for the solution of your problem. Else contact us?

SCC-Blaffer NT isn?t working on my MSX!

SCC Blaffer doesn?t start at all, the disk contains an error!

Take a good look at figure 1.2 (page 2). There you see the filename, and the error that occurs while loading the file. Please write down the filename, and the error that occurred. After that please write, mail or call us. You?ll receive a copy of SCC-Blaffer NT as soon as possible!

SCC-Blaffer does load all files, but crashes!

If this occurs, first please remove any cartridges and try to load SCC-Blaffer NT again. When this doesn?t solve you?re problem, please describe the problem as detailed as possible, and contact us?

In the pattern editor, on channel 5 I can?t enter an ?INS? event!

This is because the SCC has 5 channels, but channel 5 uses the instrument of channel 4! In future versions we maybe build in SCC+ support (this supports an instrument for channel 5). But we can only build this option in when we have an SCC+?


The project

This project started on Friday June 4, 1999 at 22.24? It was finished on Tuesday September 14, 1999. Some information?

Hardware used

* P133 with 48Mb Ram, 1.7GB and 8.4GB hard disk, 2 CD-ROM drives, 12 speed and 48 speed
* ZIP drive
* Philips NMS 8255
* Philips NMS 8250
* 512Kb Memory mapper
* Nemesis 2 (2x) with build in switch.
* King?s Valley 2 (msx1 version)
* The Offspring?s ?Ignition?
* The Offspring?s ?Smash!?
* The Offspring?s ?Americana?
* Loads ?o coffee
* And even more ?Van Nelle halfzware? shag!

Software used

* Chaos assembler 2.0
* Turbo pascal 7.0
* Graph saurus 2.0
* Age
* MSX4PC 4.0
* FMSX 1.62
* RuMSX 0.16

Special thanks?


Manuel Bildebeek			(a.k.a. Quintus)

Thank you for the idea of PIE, if you didn't mention that, SCC Blaffer NT would *NOT* be released at all! 


Laurens Holst			(a.k.a. ~Grauw)

Thank you for beta testing this little (:)) project, and also of course for your BUG reports, and of course for 
(co-)organising the Bussum fair 1999! Keep up the good stuff! 

Dennis Beisser			(a.k.a. Zenor)

Thank you for the mental support even d-fader sometimes needs? We respect that very much! Also thanks for willing to be an TwZ member?

Cameron McCormack

For Chaos assembler, and for willing to adjust it to MSX!

Konami
For the SCC... (and the many, Many, MANY hours we played your games!)


Disclaimer

TeddyWareZ or anyone affiliated with us cannot be held responsible for any hardware, software, mental, physical or any other form of damage resulting from use of this product. We do not encourage any illegal, immoral or irresponsible use or misuse of anything or anyone associated with us and/or this product. All procedures described in this TeddyWareZ product are executed by the user his/her own risk.

Project information


The guys who made it

Coding
d-fader

GFX, design
d-fader

Music
Dj. Chaos

Documentation
d-fader


TeddyWareZ is:

Co-ordination
Dj. chaos


Coding
d-fader
blue crystal


GFX
blue crystal
zenor
hexx


Music
Dj. Chaos


Support
Space-crack
x-fanity


Contact information
The big net called internet
e-mail	: twz@iname.com
url	: http://teddywarez.cjb.net

Snail mail

TeddyWareZ
Jan Palachweg 17
9403 JS Assen
Holland

Telephone

In Holland	: 0592-340197 (vraag naar Frederik (tja, hij woont nog thuis, en z?n ma begrijpt natuurlijk niet dat hij 
  Chaos heet? hh))

Foreign		: ++31-592-340197 (Ask for Frederik)



	SCC-Blaffer NT Manual

TeddyWareZ

SCC Blaffer NT manual

TeddyWareZ

16
SCC Blaffer NT manual



