MIDIV10 by Ian Jones

Use this forum to submit new files for the download section of the archive. I will check each submission and upload it to the archive on a regular basis.
Post Reply
sixxie
Posts: 1357
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

MIDIV10 by Ian Jones

Post by sixxie »

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
User avatar
robcfg
Posts: 1542
Joined: Sat Apr 04, 2009 10:16 pm
Location: Stockholm, Sweden
Contact:

Re: MIDIV10 by Ian Jones

Post by robcfg »

Maybe it controls a cartridge hosting a midi device?

The program is written in Basic, so we could take a peek...
User avatar
robcfg
Posts: 1542
Joined: Sat Apr 04, 2009 10:16 pm
Location: Stockholm, Sweden
Contact:

Re: MIDIV10 by Ian Jones

Post by robcfg »

Heh,

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
So I guess we have a search and capture order for a Midi cartridge for the Dragon :mrgreen:
User avatar
robcfg
Posts: 1542
Joined: Sat Apr 04, 2009 10:16 pm
Location: Stockholm, Sweden
Contact:

Re: MIDIV10 by Ian Jones

Post by robcfg »

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!
User avatar
robcfg
Posts: 1542
Joined: Sat Apr 04, 2009 10:16 pm
Location: Stockholm, Sweden
Contact:

Re: MIDIV10 by Ian Jones

Post by robcfg »

I found another funny thing :mrgreen:

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"
which in the Dragon results in a

Code: Select all

?DN ERROR
Where can I find a list of the File channel IDs?
sixxie
Posts: 1357
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

Re: MIDIV10 by Ian Jones

Post by sixxie »

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?
Could be! I've done very little with MIDI, and never on the Dragon.

It was actually a FB post by Jim that prompted me to upload this, as I remembered I had it.
Go4Retro
Posts: 2
Joined: Thu Feb 22, 2018 12:47 pm

Re: MIDIV10 by Ian Jones

Post by Go4Retro »

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)
User avatar
robcfg
Posts: 1542
Joined: Sat Apr 04, 2009 10:16 pm
Location: Stockholm, Sweden
Contact:

Re: MIDIV10 by Ian Jones

Post by robcfg »

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?
Post Reply