Jump to content

C64 Keyboard as DIN


bill

Recommended Posts

Hello, i'm quite new to the multiplexing concept, but i've heard that MIOS deal with 8x8 matrix. ??

(http://www.midibox.org/forum/index.phptopic=1803.msg22173#msg22173)

So, does anyone allready plugged a C64 keyboard as a DIN playground ?

( or any other computer keyboard, but duggle seems not use the forum anymore :(, and the c64 one as the advantage of being very simple on appearance )

I'm looking for details around this, like http://www.ucapps.de/mbhp/mbhp_scan_matrix1.pdf

Cheerz  :-*

Link to comment
Share on other sites

  • Replies 54
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Ok, so i definitely have to spend some time on it !

Today i found those docs :

http://jambonbill.free.fr/midibox-kb/c128-matrix.gif

http://jambonbill.free.fr/midibox-kb/c64-matrix-p6-left.gif

I'll keep this thread updated with what i got.

I'd like one tip :

A matrix programing example with C if that's possible ???

That is problably a bad idea, so i will stay with ASM and this examples. http://ucapps.de/mios/sm_example1_v2.zip

Thanks

Link to comment
Share on other sites

A photo from my c64 keyboard connector :

I'm going to test rows and cols this evening, then give you my results  ;)

c64_0377.jpg

http://jambonbill.free.fr/midibox-kb/c64_0377.jpg

oh, I've just found this :

-----------------------

There are color codes in original C64 keyboard cables, this may help you for not being confused in wiring.

C64 MotherBoard                     Keyboard
keyboard pins     meaning   DB-25   Label      Cable Color
---------------   -------   -----   --------   -----------
1                  gnd        1        I       white
2              not connected  2
3                restore      3        8       black
4              not connected  4
5                  r3         5        7       grey
6                  r6         6        6       purple
7                  r5         7        5       blue
8                  r4         8        4       green
9                  r7         9        3       yellow
10                 r2         10       2       orange
11                 r1         11       1       red
12                 r0         12       0       brown
13                 c0         13       H       grey-white
14                 c6         14       G       purple-white
15                 c5         15       F       blue-white
16                 c4         16       E       green-white
17                 c3         17       D       yellow-white
18                 c2         18       C       orange-white
19                 c1         19       B       red-white
20                 c7         20       A       brown-white

(of course "DB-25" as no sense here, but http://www.ntrautanen.fi/computers/hardware/misc/64_keyboard.htm)

Link to comment
Share on other sites

  • 2 weeks later...

NICE!  ;D

Totally awesome. I hope to include it on the vX one day if that's OK with you?

Pretty please share your code and designs with the community :) You can put it on the wiki, or if you like, I'll be your wiki-slave and you can PM or email it to me and I'll wikify it :)

Link to comment
Share on other sites

I hope to include it on the vX one day if that's OK with you?

Hahaha ;D include it where you like, i didnt invent the scan matrix, nor the c64 keyboard !! ;)

I will draw some clear and minimal schematics and link there here of course.

Then, please wikify this as you like to.

Here is a schematic.

sm_shematics.gif?r=1

I'm writting a first app and hope to release it soon !

Link to comment
Share on other sites

  • 3 weeks later...

hi!

i have just retrieved a small small numeric keypad with 12 keys.

it has a matrix concept and 8 output pins.

i'm sure it will work based on the same concept of the c64 keyboard....

i have still to look at your code and exampe, but meanwhile can you tell if the integration in midibox64E is straightforward? how did you managed to handle the matrix input and use the button as single inputs?

thanks a lot...

Link to comment
Share on other sites

  • 1 month later...
hey bill,

ho are you coming along with that app?

Hello, at the moment, i did an arpeggiator, live playing, and mini sequencer, (plus gameboy sync ;)

I have mapped the keyboard with Ascii for inputs, and the keyboard layout for playing notes is 'SoundTracker style'

but i'm limited by the PIC18F452 ram (especially for the sequencer), so i must continue with another pic.

Would you like to build a board and try it ?

Link to comment
Share on other sites

im building one as we speak.. (only ive put 5 50k lin pots on there, i had them lying around..)

yes i would really like to see your code and try this for myself..

actually im building this as a project for my school.. and if they say its ok to call a C64 keyboard a gamecontroller.

then this thing gets priority over everything else.. as i need to have it up and running in about a week, so i can build

my performance around it.. but maybe thats too much info :P

Link to comment
Share on other sites

Ok, i will upload my source and compiled code online asap.

There is nothing finished, but it works and it's a good base i think.

The sequencer part probably will look unusable to you, but the "live play" and arpeggiator should give you good results.

Link to comment
Share on other sites

sure..

my project for school is my final project, after this im finished.. they asked me to focus on game controllers as ive done that already.. usually involving picking up USB signals via MAX/MSP and converting them to outgoing midisignals picked up by for example my machinedrum or ableton live.. this time im writing a complete synth/seq program in max and it gets controlled by 1 P5 Glove and i hope a commodore64 keyboard(with 5 pots)

i can fill in just about everything.. they only told me that id have to document everything and that i should focus on  stuff that i have experience with.. (not that i have any experience with programming midibox but they dont know that) and they know that i have experience with using gamecontrollers as musical instruments. so they told me to focus on that.. the last 3 weeks ive been searching for a good idea.. but now i think i have finally got the ground idea to work.. that is using the C64 and a P5 glove.. and building some sort of system in max.. and im thinking of something along the lines of the PC VST plugin called Glitch.. a really neat plugin..

now about that code.. i really dont care if its beginners code.. as my attempts at coding in mios didnt go further than hello world.. even my din tryout didnt work (probably hardware problem..)

i was wondering though.. is it needed to use a "din1" and a "dout1" chip.. doesnt the core provide enough dins and douts for that??

edit: i would really like to see your code.. if you have hosting problems i can put it up for you if you mail them to me.. and, no i will not take the credit for it.. its your code :P

Link to comment
Share on other sites

happy you : my little app support 8 pots.

Depending on the midi channel you have selected, you can set CC's for each pots.

I thought that 8 pots was enough, so i decided to use the UNMUXED mode.

So you can send dedicated CC's for each channel (see variables.h => const unsigned char joy_map)

(To select a channel from 1 to 10, it's C= key plus the number)

Check this, and tell me what you think : http://jambonbill.free.fr/?rep=./midibox-kb/c

Have fun and private mail me for any questions !!

Link to comment
Share on other sites

hey Bill,

THNX!! ive glanced through it and its a bit advanced for me.. but with a bit of time..

as for questions.. i rather post them in public so everyone can benefit from my stupid mistakes..

unless you dont want your code to be used by others..(excluding me ofcourse :P )

Link to comment
Share on other sites

i rather post them in public so everyone can benefit from my stupid mistakes..
unless you dont want your code to be used by others..

Of course i like that everyone can use it, but i would like that we first speak about it private, so errors from your side and mine can be corrected without being another error source for anyone else.

I'm not sure to be clear  :-\

hope you get it work anyway !!

Short hints :

Press the 'C=' key to begin.

Press Run/Stop to Run/Stop the sequencer. (but your bankstick is empty yet...)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...