Skip to content

Commit 22013e2

Browse files
committed
v1.2.
1 parent 4904002 commit 22013e2

File tree

5 files changed

+48
-46
lines changed

5 files changed

+48
-46
lines changed

40col-v1_0.jpg

-8.42 KB
Binary file not shown.

40col-v1_2.jpg

30.8 KB
Loading

README.md

Lines changed: 48 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,45 @@
1-
# RhinoDevel's Musical Keyboard v1.0
2-
A musical keyboard for Commodore PET/CBM 8-bit machines with record function and more.
1+
# RhinoDevel's Musical Keyboard v1.2
2+
The only musical keyboard for Commodore PET/CBM 8-bit machines with live recording functionality, vibrato and more.
33

4-
[Click here for a short YouTube VIDEO showing v1.0's features.](https://youtu.be/egCiv15q_0s)
4+
[DOWNLOAD current release v1.2 for BASIC v2 and v4, here!](https://github.com/RhinoDevel/keyboard/releases/download/v1.2/keyboard-v1_2-basic_v2_and_v4.prg)
55

6-
[DOWNLOAD current release v1.0, here!](https://github.com/RhinoDevel/keyboard/releases/download/v1.0/keyboard.prg)
6+
[DOWNLOAD current release v1.2 for BASIC v1, here!](https://github.com/RhinoDevel/keyboard/releases/download/v1.2/keyboard-v1_2-basic_v1.prg)
77

8-
![Screenshot of RhinoDevel's Keyboard](/40col-v1_0.jpg?raw=true)
8+
![Screenshot of RhinoDevel's Keyboard](/40col-v1_2.jpg?raw=true)
99

1010
## Why?
1111

12-
This is no tracker (yet), it is a musical keyboard using the one single sound
12+
This is no tracker (yet?), it is a musical keyboard using the one single sound
1313
channel the PET/CBM user port offers via CB2.
1414

15-
Apart from the 6502/Commodore programming experience for me personally, this
16-
musical keyboard is useful for:
15+
Apart from the 6502/Commodore programming experience for me personally,
16+
this musical keyboard is useful for:
1717

1818
- *Making beautiful, beautiful **music**!*
1919

20-
- **Doing something new with your PET/CBM** (sure, there are a couple of programs to
21-
make music I know of, but I don't think there is software with these kind of
22-
features).
20+
- **Doing something new with your PET/CBM** (sure, there are a couple of
21+
programs to make music I know of, but I don't think there is software with
22+
features like live recording, vibrato effect, etc.).
2323

2424
- **Record** your melody in realtime (instead of using a tracker or something),
2525
save it to tape and integrate it into your own software/game as background
26-
music via a simple IRQ routine (the recording frequency equals the IRQ's 50/60 Hz).
26+
music via a simple IRQ routine (the recording frequency equals the IRQ's
27+
50/60 Hz).
2728

2829
## Features
2930

3031
- **Dynamic note length**: As expected from a musical keyboard, a note will be
31-
played as long as you hold down the associated button (if
32-
it is the last note button pressed, see "smooth note
33-
transition").
32+
played as long as you hold down the associated button
33+
(if it is the last note button pressed,
34+
see "smooth note transition").
3435

35-
- **Smooth note transition**: If the buttons for two musical notes are held down at
36-
the same time, the last pressed button's note will be
37-
played.
36+
- **Smooth note transition**: If the buttons for two musical notes are held down
37+
at the same time, the last pressed button's note
38+
will be played.
3839

39-
- **17 different sounds**: Choose between all seventeen sounds distinguishable by
40-
the human ear and producible with the shift register.
40+
- **17 different sounds**: Choose between all seventeen sounds distinguishable
41+
by the human ear and producible with the shift
42+
register.
4143

4244
- **Effects**: Enable effects like vibrato (in addition to the 17 sounds).
4345

@@ -47,68 +49,68 @@ musical keyboard is useful for:
4749

4850
- **Increase playback speed**: Playback your music with 1x, 2x, 3x or 4x speed.
4951

50-
- **Loop playback mode**: Let the CBM playback your recorded melody in an infinite
51-
loop.
52+
- **Loop playback mode**: Let the CBM playback your recorded melody in an
53+
infinite loop.
5254

5355
- **Visual feedback**:
5456

55-
The screen shows the buttons used for the **musical keyboard as arranged on
56-
your CBM** (an exception is the PET 2001 with the chiclet keys).
57+
The screen shows the buttons used for the
58+
**musical keyboard as arranged on your CBM**
59+
(an exception is the PET 2001 with the chiclet keys).
5760

58-
The application also shows, which **buttons** are pressed and
59-
which **functions** are currently enabled.
61+
The application also shows, which **buttons** are pressed and which
62+
**functions** are currently enabled.
6063

6164
The selected **bit pattern** is displayed as graphic.
6265

6366
The **currently playing note** is displayed as timer hex value.
6467

65-
The **count of currently stored notes** (and pauses) in memory is
66-
displayed as hex value and also the **maximum possible count of
67-
notes/pauses** storable in memory of your CBM.
68+
The **count of currently stored notes** (and pauses) in memory is displayed as
69+
hex value and also the **maximum possible count of notes/pauses** storable in
70+
memory of your CBM.
6871

69-
- **Save tunes to tape**: Save your recorded melody to tape (#1).
72+
- **Save tunes to tape**: Save your recorded melody to tape (#1 and #2).
7073

71-
- **Load tunes from tape**: Load tunes from tape (#1).
74+
- **Load tunes from tape**: Load tunes from tape (#1 and #2).
7275

7376
- **No special hardware**: If your CBM has an internal beeper or you connected
74-
(e.g.) an audio amplifier and speaker to CB2 at the user
75-
port, you are good to go.
77+
(e.g.) an audio amplifier and speaker to CB2 at the
78+
user port, you are good to go.
7679

7780
- **Single binary application**: The same PRG can be used for all supported
78-
CBMs/PETs, 40 or 80 columns, BASIC 2 or 4.
81+
CBMs/PETs, 40 or 80 columns, BASIC 2 or 4.
7982

8083
- **Additional BASIC 1 support**: A special BASIC 1 PRG file is available.
8184

8285
- **Re-entry / no reset**:
8386

84-
You can exit the application and re-enter it without loosing your recorded tune.
87+
You can exit the application and re-enter it without loosing your recorded
88+
tune.
8589

8690
In addition, resetting the machine before doing something else with it is not
8791
necessary.
8892

8993
## Ideas for future improvements
9094

91-
- [x] Make **saving and loading** records possible from inside the application.
92-
9395
- [ ] Add check, if there is enough memory to record further.
9496

9597
- [ ] Show numbers in **decimal**.
9698

97-
- [x] Add effect: **Vibrato**.
99+
- [ ] Add effect: **"Arpeggio"** (press two note buttons to let the associated
100+
musical notes alternate quickly).
98101

99-
- [ ] Add effect: **"Arpeggio"** (press two note buttons to let the associated musical
100-
notes alternate quickly).
102+
- [ ] Optionally save records together with an
103+
**IRQ-based background music player** to be able to run and play records
104+
on their own. I already got an IRQ-based player ready (needs some
105+
polishing before release).
101106

102-
- [ ] Optionally save records together with an **IRQ-based background music player** to
103-
be able to run and play records on their own. I already got an IRQ-based player ready (needs some polishing before release).
107+
- [ ] Let user modify vibrato effect.
104108

105109
- [ ] Add tracker functionality to edit your recorded tune, etc.
106110

107-
- [ ] Create **library with tunes** (*maybe with YOUR help?*). Playing and recording
108-
melodies from C64 games would be cool..
111+
- [ ] Create **library with tunes** (*maybe with YOUR help?*).
112+
Playing and recording melodies from C64 games would be cool..
109113

110-
- [x] **BASIC v1** support.
111-
112114
- [ ] Reduce screen updates to avoid **"snow"** on the PET 2001.
113115

114116
- [ ] **Chiclet keyboard** layout support.

keyboard-v1_2-basic_v1.prg

4.37 KB
Binary file not shown.

keyboard-v1_2-basic_v2_and_v4.prg

4.39 KB
Binary file not shown.

0 commit comments

Comments
 (0)