Plug In: wAxScore - Chysn/VIC20-wAx2 GitHub Wiki

Note: The wAxScore plug-in is not included with the wAxpander cartridge distribution. It is available separately at (URL to be posted when available)

wAxScore eases the entry of wAxScore-format music data into memory.

Installation
.P [source address]

Usage
.U addr [R]

where addr is a valid 16-bit hexadecimal address. If only the address is specified, wAxScore will begin playing music from that address. If R is included after the address, wAxScore will enter Record mode.

Key Bindings for Recording

Notes     2 3   5 6 7
         Q W E R T Y U I
         c d e f g a b c'
Rests    SPACE BAR

Durations
         f1 - Eighth Note
         f3 - Quarter Note
         f5 - Half Note
         f7 - Whole Note
          . - Dot the current duration (may be done multiple times)

Effects  RETURN (No Effect)
         Plus (Octave Up)
         Minus (Octave Down)
         Colon (Legato On)
         Semicolon (Legato Off) 

Undo     DEL KEY

Finish   STOP KEY

The wAxScore Format

wAxScore is a simple format for one voice. Each byte contains duration and degree data. The high nybble is the length:

  • 1000nnnn = Whole Note
  • 0100nnnn = Half Note
  • 0010nnnn = Quarter Note
  • 0001nnnn = Eighth Note

Note durations can be dotted by setting the bit to the right. For example, 0011 represents a dotted quarter note.

The low nybble is the note number of a chromatic degree from 1 to 13. wAxScore format does not actually specify the temperament that's determined by the table that defines relationships between chromatic degrees and note values.

A low nybble value of zero indicates a rest for the specified duration. If low and high nybble are both 0 ($00), it indicates the end of the score.

A low nybble value of $f indicates that the high nybble contains an effect.It is optional for wAxScore players to interpret effects, but they must treat effects as zero-duration. Effects include the following:

  • $0 No effect - IMPLEMENTED HERE
  • $1 Octave Up - IMPLEMENTED HERE
  • $2 Octave Down - IMPLEMENTED HERE
  • $3 Legato On - IMPLEMENTED HERE
  • $4 Legato Off - IMPLEMENTED HERE
  • $5 Crescendo (volume ++)
  • $6 Decrescendo (volume --)
  • $7 Accelerando (tempo ++)
  • $8 Ritardando (tempo --)
  • $9-$f User effects

Note that effects may be implemented in IRQ players based on need or available memory. Pressing RETURN during Record will enter $0F for an effect placeholder, which you can fill in with wAx's data entry tools.

wAxScore players may be developed that can play multiple voices from multiple scores simultaneously.

A sample wAxScore player is in the GitHub repository.