UK Vintage Radio Repair and Restoration Powered By Google Custom Search Vintage Radio and TV Service Data

Go Back   UK Vintage Radio Repair and Restoration Discussion Forum > Specific Vintage Equipment > Vintage Computers

Notices

Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment.

Closed Thread
 
Thread Tools
Old 29th Sep 2022, 12:53 pm   #21
Slothie
Octode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
Default Re: MK14 and MIDI

This project is interesting, I would have thought the baud rate was ambitious for a bit-banged SC/MP but I've often been wrong! Feeling kind of embarressed I havent got the "Twonky" music composer software working on the MK14 despite getting all the info I needed about 3 years ago.... Then perhaps it could be hacked to use Sirius's MIDI output as he suggested. I'd just have to find a device with a MIDI input, I don't seem to have anything to hand.
Slothie is offline  
Old 29th Sep 2022, 1:44 pm   #22
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,482
Default Re: MK14 and MIDI

Quote:
Every possible solution I can think of so far upsets timing (or the carry link state).
If the original genius can't see a way to invert the bits in software then I don't think I stand any chance.

The problem for MK14 owners is that many of us are running original (1978 vintage) machines and don't want to make mods to the OS, or indeed can't since the OS is held in one-shot bipolar PROMs, so it isn't practical for us to arrange for the SOUT pin to be sent high on reset.

Slothie: You can buy any number of old keyboardless synth modules / tone modules, a classic example would be the original Roland MT-32 and its later close cousin the Roland 'Sound Canvas', or the slightly cheaper Yamaha FB-01.

Just make sure you are looking for something multitimbral - (can act as more than one instrument simultaneously) and preferably with at least one built in PCM drum kit. Most of this type of unit don't have integral speakers, their output is line-level.

All of those items still go for around ~100 - 200 GPB (they were a lot more expensive originally).

There were also a certain generation of small MIDI equipped music keyboards, many in the Casio range, plus the contemporary Yamahas, the Yamaha PSS-795 being a particular standout as it was multitimbral, had a beefy sounding PCM drumkit and allowed the creation of custom sounds of a sort. The Yamaha PSS 680 / 780 also had basic synthesiser functionality and were multi-timbral with built in sampled drums. There is a Yamaha PSS-680 in a charity shop near SWMBO at the moment, asking price £40 - that could probably be haggled down. Unlike the 'serious' synths and synth modules the low to medium end keyboards always have built in amps / speakers.

Alternatively buy a very cheap USB to 5-pin DIN midi converter lead - they work quite well, including with the Raspberry Pi - and run a 'soft synth' - essentially an emulated synthesiser - on the PC, that will respond to any MIDI notes sent to it from the MK14 or any other MIDI data source.

The PC+USB MIDI lead could also be used to run MIDIOX, that is a general MIDI tool which allows you to analyse / look at incoming MIDI data. You can find that here, although I should warn that our locked-down works IT here won't even let me look at the page, for reasons unknown, so approach with caution.

http://www.midiox.com
SiriusHardware is offline  
Old 29th Sep 2022, 1:58 pm   #23
Silvester
Triode
 
Join Date: Feb 2014
Location: Redditch, Worcestershire
Posts: 27
Default Re: MK14 and MIDI

So as soon as I posted last message I realised there may be a crafty way. The problem was trying to end up with 00 to send stop bit at right moment. The solution relies on the INS8060 SIN input pin being tied low so that 00 gets shifted in on the last SIO instruction (actually for b0=0). Becomes a bit verbose but timing is OK:

Code:
$0      xae              ;    7 ; data byte to E register
        ccl              ;    5 ; (CAE requires this done)
        ldi     00       ;   10 ; we need to...
        cae              ;    8 ; invert the data bits
        xae              ;    7 ; store back in E register
        ldi     FF       ;   10 ; start bit b0
        xae              ;    7 ; to send
        sio              ;    5 ; SOUT start bit =1
        xae              ;    7 ; inverted data to send
        ccl              ;    5 ; (this is now effectively dummy)
        ldi     00       ;   10 ; rotating mask
$1      rr               ;    5 ;
        sio              ;    5 ; data bits b0 to b7
        adi     40       ;   11 ; accumulate bits
        jp      $1       ; 9/11 ; until done
        ade              ;    7 ; (dummy) E=00 if SIN always=0
        sio              ;    5 ; SOUT stop bit =0
        xppc    3        ;    7 ;
        jmp     $0       ;   11 ;
__________________
David
Silvester is offline  
Old 29th Sep 2022, 3:09 pm   #24
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,482
Default Re: MK14 and MIDI

I brought my PC 'Game Port to MIDI' converter interface in to work today to tidy it up a little bit, your mod timing is perfect as I have now fitted a link so that the output hardware can be made to invert or not invert the MIDI data stream, depending on whether the MIDI being fed to it is 'right way up' or 'inverted'.
SiriusHardware is offline  
Old 29th Sep 2022, 3:51 pm   #25
Silvester
Triode
 
Join Date: Feb 2014
Location: Redditch, Worcestershire
Posts: 27
Default Re: MK14 and MIDI

Here are player files as before but with inverted output. I hope they are OK, I cannot easily test them on my set up.
Attached Files
File Type: zip Mk14midi.zip (4.1 KB, 27 views)
__________________
David
Silvester is offline  
Old 29th Sep 2022, 3:56 pm   #26
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,482
Default Re: MK14 and MIDI

Very kind of you to do that - will try to give it a shot tonight. I assume the most important thing is that SIN has to be tied low.
SiriusHardware is offline  
Old 29th Sep 2022, 7:49 pm   #27
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,482
Default Re: MK14 and MIDI

I rushed home to try this and was immediately sidetracked by a lawn which '...needed mowing'. (It looked fine to me).

Anyway, I eventually loaded up first arpc.hex and sheba.hex (the ones with the output routine modified to invert the MIDI data stream) and put it through the modified output interface which now drives the MIDI instrument's input optocoupler LED on when SOUT = HIGH.

And... it works, just like that. No grumbles from the synth now, it just happily plays the two test tracks.

I did wonder whether the unconnected SIN pin would return a high or a low (ie, whether it was really necessary to tie SIN low, and yes it was - it doesn't work unless SIN is physically tied to 0V (which was to be expected).

Attached, a rough sketch of the output interface I am using. Note that the buffers are probably not even needed, SOUT could probably go straight to the 4K7 base resistor. The interface already had one inverting buffer as it was intended to be driven by a UART-level signal (idle high, active low), so to convert it to work with the inverse output from Silvester's new code I just inserted a second inverting buffer.

I'll probably just leave it as it is (if it isn't broken, don't fix it).
Attached Thumbnails
Click image for larger version

Name:	MK14_MIDI_Out_For_Inverse_MIDI.jpg
Views:	80
Size:	35.7 KB
ID:	265441  
SiriusHardware is offline  
Old 30th Sep 2022, 2:37 pm   #28
Timbucus
Octode
 
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,362
Default Re: MK14 and MIDI

Well done all - what an excellent result!
Timbucus is offline  
Old 30th Sep 2022, 3:00 pm   #29
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,482
Default Re: MK14 and MIDI

That extra leap by Silvester (working out how to output the MIDI stream upside down) is a major breakthrough for anyone who wants to use the SC/MP to output MIDI, and is really the 'right' way to do it on this chip given that the state of the SOUT pin defaults to logic 0.
SiriusHardware is offline  
Old 6th Oct 2022, 10:44 pm   #30
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,482
Default Re: MK14 and MIDI

I had another little go with this and decided to convert Silvester's 'player' source to SBASM3 format so I could fiddle with it and went around in circles for quite a while because I had completely forgotten that when you load a pointer with the address of a subroutine with the intention of then doing (e.g) XPPC 3 to execute the routine, you have to load the pointer with the start address of the subroutine minus one.

I wasn't doing that at first so the MIDI out subroutine was being called at its start address +1, which didn't work too well. With hindsight this also explains why I had trouble getting Silvester's MIDI-out subroutine working in a small test program of my own.

However, it's now working. The MK14 finally made it into the hands of users in 1978 but was very likely a work-in-progress the year before. The original MK14 'Music Box' program was probably written in the Queen's Silver Jubilee year 1977 and beeped out 'God Save The Queen'. I have transferred the same tune data into Silvester's MIDI player and had it playing over majestic, heavily layered strings at a suitably sombre pace.

Think of it as an MK14 with a £700+ sound chip (Well, that's what the synth cost in 1990).

This was something I had meant to do earlier in the year because this year was the Queens's Platinum Jubilee so it would have been a nice way of bookending the events, perhaps putting together a video showing first my original MK14 playing the beepy version and then my issue VI playing the same thing on the synth, but it turned out to be a more poignant year than I ever knew it would be.

Now, I think I'll try to find something a little bit more upbeat for it to play.
SiriusHardware is offline  
Closed Thread

Thread Tools



All times are GMT +1. The time now is 10:36 am.


All information and advice on this forum is subject to the WARNING AND DISCLAIMER located at https://www.vintage-radio.net/rules.html.
Failure to heed this warning may result in death or serious injury to yourself and/or others.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright ©2002 - 2023, Paul Stenning.