MIDIV10 by Ian Jones
MIDIV10 by Ian Jones
I have no idea how this is supposed to work (D64 serial port?), and I also have no idea why I even have the disk (possibly inherited from Robin?). But this supposedly pokes at MIDI stuff.
- Attachments
-
- midiv10.zip
- (20.7 KiB) Downloaded 70 times
Re: MIDIV10 by Ian Jones
Maybe it controls a cartridge hosting a midi device?
The program is written in Basic, so we could take a peek...
The program is written in Basic, so we could take a peek...
Re: MIDIV10 by Ian Jones
Heh,
The code is writing to port &HFF74 as if it were a control port and &HFF75 like a data port:
So I guess we have a search and capture order for a Midi cartridge for the Dragon ![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
The code is writing to port &HFF74 as if it were a control port and &HFF75 like a data port:
Code: Select all
440 :'PLAYBACK
450 CLS:GOSUB 90
455 T2=60000/TEMPO
460 POKE&HFF74,3:POKE&HFF74,22 :'SET MIDI
470 POKE&HFF75,207:POKE&HFF75,NS:'STYLE
480 INPUT "ENTER TO START";ST
490 FOR J= 0 TO 3:'VOICE
500 POKE&HFF75,191+CH(J):POKE&HFF75,VO(J)
510 NEXTJ
520 FOR J= 0 TO 3:'VIBRATO
530 POKE&HFF75,175+CH(J):POKE&HFF75,1:POKE&HFF75,VI(J)
540 NEXTJ
550 FOR J= 0 TO 3:'SUSTAIN
560 POKE&HFF75,175+CH(J):POKE&HFF75,64:POKE&HFF75,SU(J)
570 NEXTJ
580 FOR J= 0 TO 3:'PORTAMENTO
590 POKE&HFF75,175+CH(J):POKE&HFF75,65:POKE&HFF75,PO(J)
600 NEXT J
610 FORI=1 TO 300
620 IF N1(I,0)=999 THEN GOTO 750
630 FOR J=0 TO 3
640 POKE&HFF75,143+CH(J)
650 POKE&HFF75,N1(I,J)
660 POKE&HFF75,VE(J)
670 NEXT J
680 WAIT T2*L1(I)
690 FOR J=0 TO 3
700 POKE&HFF75,127+CH(J)
710 POKE&HFF75,N1(I,J)
720 POKE&HFF75,VE(J)
730 NEXTJ
740 NEXTI
750 PRINT"AGAIN (Y?N)"
760 YN$=INKEY$:IF YN$="" THEN 760
770 IF YN$="Y" THEN 440 :ELSE 280
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
Re: MIDIV10 by Ian Jones
I also found this:
https://github.com/go4retro/MIDIMaestro
Which references the Rulaford MIDI Interface, could that be it?
Looking at the V1 schematics, which should be closer or that of the original cartridge, turns out that address bits 5,6,8,9,10,11,12,13,14 and 15 are fed into the 74LS133 NAND gate which will output Low when all these bits are set high (address >= &HFF60).
That value is then inverted and fed along address bits 1,2,3,4 and 7 to the 74LS138 3-to-8 line decoder, where it enables the 6850's |CS2 signal.
Finally, address bit 0 is used to tell the RS (Register Select) of the 6850 if we are writing to a control register (&HFF74) or sending data (&HFF75).
So, it seems we've found our cartridge, and the good thing is that we can buy one or make it ourselves!
https://github.com/go4retro/MIDIMaestro
Which references the Rulaford MIDI Interface, could that be it?
Looking at the V1 schematics, which should be closer or that of the original cartridge, turns out that address bits 5,6,8,9,10,11,12,13,14 and 15 are fed into the 74LS133 NAND gate which will output Low when all these bits are set high (address >= &HFF60).
That value is then inverted and fed along address bits 1,2,3,4 and 7 to the 74LS138 3-to-8 line decoder, where it enables the 6850's |CS2 signal.
Finally, address bit 0 is used to tell the RS (Register Select) of the 6850 if we are writing to a control register (&HFF74) or sending data (&HFF75).
So, it seems we've found our cartridge, and the good thing is that we can buy one or make it ourselves!
Re: MIDIV10 by Ian Jones
I found another funny thing
When operating the disk drive (which is funny because you cannot have the disk cartridge and the midi cartridge together unless you have a MPI or similar device), the program tries to which in the Dragon results in a
Where can I find a list of the File channel IDs?
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
When operating the disk drive (which is funny because you cannot have the disk cartridge and the midi cartridge together unless you have a MPI or similar device), the program tries to
Code: Select all
OPEN"I",#2,"LARGO.M10"
Code: Select all
?DN ERROR
Re: MIDIV10 by Ian Jones
Could be! I've done very little with MIDI, and never on the Dragon.robcfg wrote: ↑Fri May 31, 2024 10:00 am I also found this:
https://github.com/go4retro/MIDIMaestro
Which references the Rulaford MIDI Interface, could that be it?
It was actually a FB post by Jim that prompted me to upload this, as I remembered I had it.
Re: MIDIV10 by Ian Jones
If someone is interested:
https://store.go4retro.com/tandy/midi-maestro/
There's a jumper on the unit that sets the addressing for Dragon (ff74/75)
https://store.go4retro.com/tandy/midi-maestro/
There's a jumper on the unit that sets the addressing for Dragon (ff74/75)
Re: MIDIV10 by Ian Jones
Nice!
I saw the manual of the original Rulaford MIDI interface for the CoCo and the ports were different, so the jumper is a nice touch.
Do you have the Dragon version of the manual by any chance?
I saw the manual of the original Rulaford MIDI interface for the CoCo and the ports were different, so the jumper is a nice touch.
Do you have the Dragon version of the manual by any chance?