Vous êtes sur la page 1sur 9

///////\ //////\ /////\ //////\ //\ /////\ //\ //\ 64

//\ \ \//\ \ //\ //\ \// \ \\ //\ //\ /// //


///////\ // /////// // //\ // // ///////
\ // // //\ // // // // // // ///
/////// // // // // // ///// \ // //
\ \ \\ \\ \\ \\ \\ \ \ \\ \\ v2.4

Welcome to STATION64, the live player solution. Real hardware synth controlled by
MIDI. Many people loves SID original
sound. Many people have some midi stuff. I've been in search of any appz to use C64
as external synth. MSSIAH you say?
Yeah, i have one. Great piece of hardware, but i wanna to control all SID activity,
use all oscillators, play with commodore
computer keyboard too, see midi activity and so on. And of course, do a some self
challenge to code it.

Now - challenge is over. >20000 code lines in pure 6510 assembler. Almost 4 month
of hard coding. And voila!!!

It was tested with DATEL/PASSPORT/SEQUENTAL/KERBEROS/HERMIDI/NAMESOFT midi


interfaces. Feel free to ask add an other
midi interfaces.

No MIDI? Use a computer keys as keyboard in! You can play single notes (with 3
voices max poly) or play
preprogrammed pieces of SID commands blocks as ARPs. And, very important - you can
combine them! Also you can control
up to six C64 (mapped with different midi channels) with one DAW

Main features:

- 3 voice polyphony or unison for fat sounds or 3 separated midi channels route to
3 sid oscillators
- full 3 osc control via midi
- fine tune for each osc
- 2 lfo/env (4 stage) with apply to pitch/pulsewidth/filter cut
- total monitoring all midi activity (decoded or raw view)
- advanced glide and pitchwheel control
- fast on-screen help
- zero latency (on real Commodore)
- tested on C64 / C128(in c64 mode)
- works with 8580/6581 on PAL/NTSC (auto detection) machines
- support KERBEROS/DATEL/SEQUENTAL/PASSPORT/NAMESOFT/HERMIDI midi interfaces with
autodetection
- manual set HARDRESTART delay (SIDBUG)
- screen-off for more clean sound from SID
- works with 154x/SD2IEC disk drive (+some additional features for SD2IEC users) to
load/save created programs/arpeggios banks
- 16 programs (can change from external midi too)
- 8 looped or single-shot arps (32 step each)
- easy programming arp with total SID registers control
- play notes/arpeggios from commodore keyboard (without MIDI)
- mapping arpeggios as you like on your midi keys or computer keyboard
- simple interface with great possibilities
- 100% original code, without any KERNAL use
- software reset to machines without reset button
- suppoprt ASID protocol from Elektron SIDstation_TM_ hardware synth (play *.SID
from pc on real C64 via midi) (except HerMIDI)
- SID activity monitor (all SID regs in real-time)
- nice intro with cute gradients :-)

e-mail i@djindikator.net any asks about C64 code, midi code, and
STATION64 support
donate via www.djindikator.net it's help to further research and
STATION64 support

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-
Terms
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-

osc - SID oscillator (or voice)


program - preset (all settings of synth)
channel - midi channel
raster - time unit (1/50 sec on pal version, 1/60 sec on ntsc)

All digits use hex format. Hope to make some decimal in further versions.

There are 3 mode to play synth with

POLY - get from AVAILABLE midi_channels (or commodore keyboard) and play poly
(3 voice max)
3CHN - mapping 3 midi channels to 3 sid osc (see SETUP/MIDI)
UNI - from AVAILDBLE midi channel play all sid osc simultaneously

Available midi channels selected on SETUP screen (MIDI-SID mappings)

After any changes received form external midi device, the settings immidiately
store
to sid and program in memory. It's doesn't matter where you are - in arp editor or
synth editor. The program
initializations occurs only on program change or after setup menu.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-
GLOBAL KEYS
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-

[+] [-] change program (0-F)


[pound] change play mode

[F1] SYNTH (synth edit)


[F2] something like help (show keys to use)
[F3] ARP (arp edit)
[F4] SETUP
[F5] KEYS (live performance mode)
[F6] LOAD prg/arp/setup
[F7] screen OFF (kill a magic hum :)
[F8] SAVE prg/arp/setup
[DEL] panic! (SID reset + kill all activity)
[C=] + [RESTORE] commodore soft reset
[<-] esc (like "back" in your browser)
...................................................................................
..................
SYNTH mode KEYS

program management

[SH] + [-] copy program


[SH] + [+] paste program
[SH] + [pound] ini prg
[SH] + [clr/home] copy osc1 -> osc2,osc3

[C=] + [0]..[9][a]..[f] fast program select


[SPACE] repeated test tone, [SH]+[SPACE] single test tone.
use SETUP for select tone len n pitch
[CTRL] rename preset

osc selection
[1][2][3] change osc to edit (and play by [SPACE] in "3CHN" mode)

osc (works on selected oscillator)


[4][5][6][7] change wave
[T] tune (half-tone)
[F] fine (sid freq registers step)
[R] ring mod
[S] sync
[P] pulse wave width (PW)
[E] envelope (adsr)
[V] use velocity to control SUSTAIN in env (*)
[N] no restart env on legato notes
[X] constant pitch for osc (see SETUP/PRESETS)
[@] pwm mode (---,+E1,+E2,-E1,-E2)
[*] fm mod (---,+E1,+E2,-E1,-E2)

(*) works with some errata (sid bug) on maximum vel (sus=F), try to hardreset on it

filter
[L][B][H] set type of filter (low pass/band pass/high pass)
[8][9][0] set sid osc to filter processing
[C] cut off
[Z] rezo
[^] filter freq mod (---,+E1,+E2,-E1,-E2)

other settings
[G] glide steps per raster (step=sid freq units)
[W] pitch wheel. 1 pitchwheel unit = XXX sid freq units
[M] master volume

ELFO
[:] edit elfo1
[;] edit elfo2

ELFO editor
[:][;] select ELFO to edit
[+][-] how many steps in ELFO
[clr home] LOOPED
[ins del] RESTART

[RETURN] VALUE PREV (use last value for step start with),RAND
(use S/H value within a step), VAL
[RETURN] DIRECTION +/-
[<-] escape to main synth window
[SPACE] test tone

[crsr] move around

...................................................................................
..................
ARP/C=PLAY mode KEYS

[SH] + [-] copy arp


[SH] + [+] paste arp
[CTRL] rename arp

[C=]+[1..7] change octave to play with C= keyboard


[,][.] change octave to play with C= keyboard

[:][;] select arp to edit


[SH]+[key note] enable/disable selected arp to this note

[@] single/loop/loop all


[*] change arp speed (+sh)
[^] change arp len (+sh)
[=] change osc to mapping/to play in 3chan mode

[clr home] stand at first step of matrix


[crsr] move across the arp matrix
[SPACE] activate/deactivate cell
[RETURN] edit cell value
[/] PITCH ROW - change type (note/offset)

[SH] + [pound] clr step + ����� ������


[SH][C=]+[1...9] fill all arp with 1...9 first steps
[SH]+[SPACE] fill copy from last activated cell in row until
cursor
[SH]+[RETURN] repeat left entire step to current and move right

KEYBOARD PLAYER (2X OCTAVE) ZSXDCVGBHNJM Q2W3ER5T6Y7U


...................................................................................
..................
PERFORMANCE mode KEYS

[,][.] change octave to play with C= keyboard


[C=]+[1..7] change octave to play with C= keyboard
[=] change osc to play in 3chan mode

KEYBOARD PLAYER (2X OCTAVE) ZSXDCVGBHNJM Q2W3ER5T6Y7U


...................................................................................
..................
RAW MIDI MONITORING mode KEYS

[clr home] clear midi-in log


[SPACE] pause midi-in log
[8][9][A][B][C][D][E] send cmd to midi out
[RETURN] repeat last cmd to midi out
[+][-] change output midi-channel
...................................................................................
..................
ASID PLAYER mode KEYS (don't works with HERMIDI interface yet)
[F7] screen on/off
[F8] SID reset
[1],[2],[3] sid channels on/off
[R] record ASID player data
[P] play ASID recorded
...................................................................................
..................
SETUP mode KEYS

[ctrl] or [crsr hor] select page


[crsr ver] select parameter
[RETURN]/[SPACE] change parameter
[<-] escape to synth/arp/perf window
[F2] ASID player
[F4] RAW-MIDI monitoring
...................................................................................
..................
LOAD/SAVE mode KEYS (show only s64* files + dirs)

common disk operation keys


[R] re-read file list
[crsr ver] select file in list
[8][9][0][1] select device 8/9/10/11
[SH]+[inst del] delete file

[inst del] parent (SD2IEC)


[RETURN] into dir (SD2IEC)

[<-] escape to previous window

save keys
[P][A][S] select items for save Programms/Arps/Settings
[SPACE] enter new name and save
[RETURN] get selected file name, edit and save
load keys
[RETURN] load selected file

...................................................................................
..................
DATA INPUT KEYS

[crsr horiz] move around line


[crsr vertic] change value
[clr home] to begin of line
[inst del] del under cursor
[+][-] change sign (for signed values)
[<-] escape (and restore unchanged digital value)
[RETURN] get value
[SPACE] select something (e.g. midi mapping, midi filter)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-
INCOMING MIDI MAPPING
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-

PROG change
PWHEEL
NOTE ON/OFF (with velocity/aftertouch)

CC MAPPED TO
00
01 flt cut (mod wheel)
02
03
04
05
06 glide
07 master volume
08 A osc1
09 D osc1
10 S osc1
11 R osc1
12 A osc2
13 D osc2
14 S osc2
15 R osc2
16 A osc3
17 D osc3
18 S osc3
19 R osc3
20 flt rez
21 pw0
22 pw1
23 pw2
24 tune1
25 tune2
26 tune3
27 fine1
28 fine2
29 fine3
30 wave1 NOI
31 wave1 PUL
32 wave1 SAW
33 wave1 TRI
34 wave2 NOI
35 wave2 PUL
36 wave2 SAW
37 wave2 TRI
38 wave3 NOI
39 wave3 PUL
40 wave3 SAW
41 wave3 TRI
42 ring1
43 ring2
44 ring3
45 sync1
46 sync2
47 sync3
48 vel1
49 vel2
50 vel3
51 leg1
52 leg2
53 leg3
54 --- const1
55 --- const2
56 --- const3
57 flt lp
58 flp bp
59 flt hp
60 flt out1
61 flt out2
62 flt out3

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-
SYNTH hints
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-

fine tune - values just add (or sub) to sid freq


const pitch - no pitch cnange
legato - not restart env, just change pitch (works only for legated
notes :)
glide - works only for legated notes (you set the speed of change pitch
in raster units)
- when glide roll on, ELFO not working
velo->sus - if velo=0, only pitch changes occur
pwheel - add/sub to freq 0...$3f * (2^pwheel_param)
arp - it's not SYNTH'S arpeggiator, its parallela synth
- elfo/pwheel/fine-tune/glide not working with arp-ed sounds
elfo - run every 1/100 sec
- change pitch with +-XXXX
- change pwidth with +-0XXX
- change filter XX0 with ELFO +-00XX

--==[[ ELFO ]]==--

You have 2 ELFO. Why ELFO? Coz it can be like lfo (if looped), and also can be like
env (single shot mode).
Each ELFO has up to 4 stage. Just looking on one step.

You have a LENgth of step (backward counter in raster units). You have Direction
(add or substract) of VALue within time
of this step. In other words wa have start VALue (e.g. note frequency in sid units)
and add (or substract) some SYEP on each
raster step. The VALue filed may contains vvvv (use current freq value), XXXX
(digits) - "start with" or RAND for S/H like behaviour.

�� ������ Raster ����:

START=START+UP (��� DOWN) ���� START=RAND


PITCH/PW/CUTOFF= START + ������� PITCH/PW/CUTOFF

data types (hex)

FREQ MOD
VAL XXXX
STEP XXXX

PW MOD
VAL 0XXX
STEP 0XXX

FCUT MOD
VAL 0XXX
STEP 00XX -> 0XX0

--==[[ ARPS ]]==--

Pitch can be one of two mode. Straight note or offset.


straight - just play arp notes, no matter what note-on pressed
offset - first offset from note-on, next offsets from PREVIOUS played
e.g. if offset steps +4 +2 and C5 was pressed, then will be playing �5+4=E5,
E5+2=F#5

Note-off of arp keys sends GATE=OFF immediately

There 2 loop mode. First (thin loop) after first loop, stay looped with only
pitch/fine/pwidth/fcut/frez.
Second loop mode (full loop) always play ALL settings within.

--==[[ MIDI ]]==--

Change MIDI prg via MIDI within ELFO edit: all changes stay saved and prg changes
AFTER edit finished.
Synth received all midi channels (and show them in midi-monitor) but processed only
selected (SETUP/MIDI/mapping
incoming midi channel) channels.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-
SETUP
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-

PRESET
** change play mode GLOBAL/PRESET **
you can change global play mode via [pound] key or store mode into preset

** default note for test tone **


default note as say. Also used as test tone for [SPACE] key in synth section

** test tone len **


len (step 10 ms) of repeated NOTE_ON - NOTE_OFF

** program names **
here you can edit all program names

ARP/KEYS
** default comp velocity **
play on computer keyboard with this vel value
MIDI
** midi monitor filter **

** mapping incoming midi channel to sid osc ("3CHN" mode) **


STATION64 ALWAYS receive incoming data via this MIDI CHANNELS only

** midi interface type (DATEL/PASSPORT/SEQUENTAL/NAMESOFT_NMI/HERMIDI) **

interfaces presets settings

SEQUENTIAL/NAMESOFT DE00 DE02 DE01 DE03 03 15 95


PASSPORT/SENTECH DE08 DE08 DE09 DE09 03 15 95
DATEL/SIEL/JMS/C-LAB DE04 DE06 DE05 DE07 03 16 96

SID/SYS
** hardrestart **
fix some sid errata with envelope restart, here you can change delay (in
raster units) before
new env start

** master volume **
store with preset or use global value (and not change volume at all). It may
be good idea about use
global volume if you wanna to avoid clicks within program change

** sid model/raster timing **


information only :)

** default drive **
default disk device #

You can set default drive on INTRO screen (intro closes within ~5 sec
automatically) -
press 8/9/0/1 -> dev# 8/9/10/11. In this case STA64 try to load previously saved
settings/prgs/arps named
with "DEFAULT". Any other key on intro - don't load anything and use embedded
settings/prgs/arps.

Vous aimerez peut-être aussi