I haven't abandoned the Diamond - NTS-1 patch editor project(yet). A Test of a display concept looked reasonable and thought if a set of random numbers for the CC# were created and placed on the screen they could be sent to the NTS-1 without much effort. All worthwhile routines to work out the bugs. I now have a platform to develop a method of adjusting the CC data before getting back to the official patch editor.
So plug in your Korg NTS-1 into your MIDI interface, put your Diamond cartridge in the slot, boot up your Atari with the "M:" handler and give RND(NTS-1) a try. Set the MIDI channel number and then press the ? Icon. A set of random numbers is created and sent to the NTS-1. You can then play the keyboard or set the arpeggiator to hear the results. They are not all great patches so you may want to turn some knobs to make some adjustments. Due to the lack of a MIDI out port, the Atari can't show what the values are adjusted to. Click the "Q" icon to quit back to the Desktop.
Where to go from here.
I need to know how these patch settings can be saved to a file that is compatible with the MIDI Music System voice file format. In this way they can be imported and sent to the NTS-1. I'm 99% sure that it can but I took the long way around for this example.
Below is a screen printout of a patch created with RND(NTS-1). The dump was accomplished with the SDUMP11.ACC loaded during boot-up. For me it completed the printout but don't be surprised if the computer locks up and you need to reboot. What do you expect from a <300 byte accessory.
The printout of the CC#,values are then used to enter the values into MMS using the command P CC#,value (ex. P53,63). The example split the 26 CC# between 2 voices to show them in one screen shot. Voice 1 was played to move the numbers into the NTS-1.
Do this once and you'll also want a SAVE function.
For the Diamond programmers:
The disk contains RNDPATCH.APP and all the source code including the INCLUDEd macro files. I've been using files for subroutines and macros Midway through the project I decided I needed a way to tell if the files contained macros(MAC), subroutines(JSR) or macro and subroutine(MAS).
The files are
RNDPATCH.APP - compiled Diamond application program
RNDPATCH.M65 - Dropdown menu data, start up, and Event Loop.
INFODIAL.JSR - Shows info dialog box when called
ICONS.M65 - Icons for ? And Q icons
SYSPRT.MAS - much like the SYSDRAW diamond macro but receives address of object table
CCLAYOUT.JSR - uses SYSPRT.MAS to print screen data layout
SETCHAN.JSR - called from EVENT loop. Unchecks old Channel#, saves and checks new.
CCDATA.JSR - Tables for SYSDRAW, Uses data tables for X,Y, placement. Calls BYTE2DEC.JSR
BYT2DEC - turns BYTE into 3 character decimal string for display.
SYSEQU.M65 & IOMAC.M65 - Macros supplied with MAC65
DMACRO01.M65 - Diamond macros with some modifications. see comments.
*.TXT - Listed code for view without MAC65 Cart.
AUTORUN.SYS - M: device handler
TEST.MUS - Midi Music File of patch data.