You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+48-46Lines changed: 48 additions & 46 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff 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.
3
3
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)
5
5
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)
7
7
8
-

8
+

9
9
10
10
## Why?
11
11
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
13
13
channel the PET/CBM user port offers via CB2.
14
14
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:
17
17
18
18
-*Making beautiful, beautiful **music**!*
19
19
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.).
23
23
24
24
-**Record** your melody in realtime (instead of using a tracker or something),
25
25
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).
27
28
28
29
## Features
29
30
30
31
-**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").
34
35
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.
38
39
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.
41
43
42
44
-**Effects**: Enable effects like vibrato (in addition to the 17 sounds).
43
45
@@ -47,68 +49,68 @@ musical keyboard is useful for:
47
49
48
50
-**Increase playback speed**: Playback your music with 1x, 2x, 3x or 4x speed.
49
51
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.
52
54
53
55
-**Visual feedback**:
54
56
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).
57
60
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.
60
63
61
64
The selected **bit pattern** is displayed as graphic.
62
65
63
66
The **currently playing note** is displayed as timer hex value.
64
67
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.
68
71
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).
70
73
71
-
-**Load tunes from tape**: Load tunes from tape (#1).
74
+
-**Load tunes from tape**: Load tunes from tape (#1 and #2).
72
75
73
76
-**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.
76
79
77
80
-**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.
79
82
80
83
-**Additional BASIC 1 support**: A special BASIC 1 PRG file is available.
81
84
82
85
-**Re-entry / no reset**:
83
86
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.
85
89
86
90
In addition, resetting the machine before doing something else with it is not
87
91
necessary.
88
92
89
93
## Ideas for future improvements
90
94
91
-
-[x] Make **saving and loading** records possible from inside the application.
92
-
93
95
-[ ] Add check, if there is enough memory to record further.
94
96
95
97
-[ ] Show numbers in **decimal**.
96
98
97
-
-[x] Add effect: **Vibrato**.
99
+
-[ ] Add effect: **"Arpeggio"** (press two note buttons to let the associated
100
+
musical notes alternate quickly).
98
101
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).
101
106
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.
104
108
105
109
-[ ] Add tracker functionality to edit your recorded tune, etc.
106
110
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..
109
113
110
-
-[x]**BASIC v1** support.
111
-
112
114
-[ ] Reduce screen updates to avoid **"snow"** on the PET 2001.
0 commit comments