pouët.net

Star Bars Atari 2600 Music Editor v1.4 by Carillon & Cyberiad [web]

STAR BARS

A Stellar Atari 2600 Music Suite

Version 1.0 (August 2023)



INTRO

Star Bars is a music sequencer and play routine for Atari 2600 video game console from the late 70's. The editor runs on a Commodore 64 and exports both PAL and NTSC Atari 2600 ROM images containing your music and the music player code.

Star Bars uses Tiatonic Tuning to achieve 8x improved frequency resolution over TIA chip au naturel and it can play the full chromatic scale over 6 octaves. No more awful out-of-tune Atari 2600 bleeps! C-1..F-2 and E-3..F-6 are the most accurate note ranges. F#2..D#3 and above F#6 are a bit hazy.

Registers are updated up to 32 times per frame, so using Star Bars music in games or demos is somewhat challenging, yet not impossible.



QUICKSTART

SPACE		Start playing music
RUN/STOP	Stop music
F1		Load music data
F7		Help

Configure VICE to use the host file system for easy access to exported ROM images.

Have fun!


PATTERN EDIT

Move cursor to pattern edit column to enter notes or to play a pattern on repeat.

There's 32 1-channel patterns (00-1F). Each pattern is 32 steps.

< and >		Select pattern
SHIFT+SPACE	Play and loop pattern

RETURN		Play note at cursor, pick sound
SHIFT+RETURN	Pick sound from pattern quietly

C=+X/C/V	Copy/cut/paste pattern
C=+B		Enter pattern break command

C=+U		Transpose up by a semitone
C=+D		Transpose down by a semitone

C=+R		Replicate pattern at cursor
		(At step 8 to fill with steps 0-7)
				
INS/DEL		Erase note at cursor

0-9, A-F	Edit sound number in pattern

, and .		Select base octave (1-5)
+ and -		Select sound (10-70)


MUSICAL KEYBOARD

 2 3   5 6 7   9 0
Q W E R T Y U I O P

  S D   G H J
 Z X C V B N M

Hold down SHIFT with a note key to enter a tied note, that only changes the base note without retrigging the sound.

There's only 7 sounds, but you can start the sound at any sound step by editing the sound number in pattern data.


C-3  10		Play C-3 using sound 10 (10-70)
---  
C-3  15		Start at step 5 of sound 10 (!)
---
D-3		Tied note, sound is not restarted
---
BRK		Pattern break


SEQUENCER

Atari 2600 has two identical sound channels C0 and C1. List the patterns you want to play on each channel in the sequencer area.

RETURN		Place current pattern at cursor

SPACE		Start playing music
RUN/STOP	Stop music

[ and ]		Adjust song tempo
*		Switch Atari 2600 PAL/NTSC
INS/DEL		Delete step at cursor
SHIFT+INS/DEL	Replicate step at cursor (insert)

0-9, A-F	Enter pattern numbers in list

SHIFT+SPACE	Start playing music at cursor

Enter a value between 80-FF in C0 column to loop song at position 00-7F. You cannot loop directly to another loop command.



ATARI 2600 PAL/NTSC TIMING

Song tempo is compensated between PAL/NTSC to the closest matching half-frame tempo. Approximate BPM appears as highlighted.

Sound data timing is not compensated, so in 2600 PAL mode the sounds are 20% slower than in NTSC. 

When finishing your song, you may want to refine the sounds and create a separate PAL version and PAL ROM export.

The editor works on both PAL and NTSC C-64's and you can export PAL and NTSC Atari 2600 ROM's from both.


SOUND EDIT

Star Bars lets you create simple beeps, blips, arpeggios, drum sounds (using noise/pulse), or even combined single-channel drum and bass notes (with clever use of relative/absolute notes).

Play live notes on C1 by holding SHIFT when in the sound edit area. You can jam with a looping 1-channel pattern, as the pattern plays on C0.

+ and -		Select sound (10-70)
, and .		Select base octave (1-5)
RETURN		Set sound trig position at cursor
				
There's 16 steps in each sound. End of sound links to next sound, enabling creation of longer sounds.

ARP column defines the pitch and waveform. Pitch can be either relative to note (arpeggio) or absolute (always the same pitch). Note does not affect the noise frequency.

VOL column defines the envelope level at current step. Envelope values going upwards produce some rattling in the editor, but not on Atari 2600.

ARP
00-3F		Arpeggio note in semitones
40-7F		Absolute note, 41 = C-1
80-9F		Noise at frequency 00-1F, 00 = high
F0-FF		Loop sound at position 0-F

VOL
00-0F		Envelope volume 0-15 at step
80-8F		Same, but half speed (2 frames) (!)

You can create slower arpeggios or a bit longer decays by using VOL values starting with 8. The lower nybble is the envelope volume level.

Arpeggio step reaching above C-7 is muted.

TIA noise cycle is shorter than SID's: 80 and 81 sound like buzz if player for a longer period.

Looping to another loop command is not possible. Such loop is ignored and a blip may be heard.

There's only 7 sounds, but you can start the sound at any step. Thus, you could fit a simple drumkit in just one sound, use half of the sound table for an echo, use dynamics in decaying sounds, skip a hihat frame at start, etc.FILE OPTIONS AND EXPORTING

F1		Load music data
F3		Save music data
F5		Export Atari 2600 ROM
*		Switch Atari 2600 PAL/NTSC timing and
		exported ROM version

Only the most rudimentary file options are currently implemented. This shouldn't be a problem since you're probably working in a cross-dev/emulator setup anyway.

When exporting a ROM, you can type a short message of 24 characters that's displayed while playing your music on Atari 2600.

Exported Atari 2600 ROM file does not have a header (CBM load address), they're pure binary files that can be dumped as-is to Atari 2600 or an emulator.

You may want to use the file extension .A26 when exporting ROM's so that emulators will recognize them without asking.

Player source code is included. Incbin your music data file at $F4FE and adjust the quality constant in player.s if desired.

Note that some emulators may not handle multiple writes to sound registers per frame that well.

On a Mac, Z64K and OpenEmu (that uses Stella core) sound great, but standalone Stella produces choppy sounds.



CONTACT

aleksi.eeben@gmail.com

https://bit.ly/eightbitshed
https://fb.me/eightbitshed
https://linktr.ee/aleksieeb3n