33

(6 replies, posted in Atari)

Bump for an update, Antichamber is taking orders for boards and parts 8) See Wiki link and thread.
Yogi

kvee covers the process very well. What I would add is if this is your first project on this scale, definitely reach out to the dev community at nesdev.com. As well, contact INL with your idea, he has helped produce and market several carts, http://www.infiniteneslives.com/products.php Not saying he will solve all the problems in creating a .nes but could help with the production run.
Rainwarrior coded the ROM for bitpuritans on the custom mapper created by INL. So if your primary interest is music, there are others that can help bring your vision to life.
Good luck,
Yogi

sandneil wrote:

ty so much for your feedback! apparently -1 represents "don't send" internally, but -1=7f, so it looks like the "don't send" value is being sent. should be an easy fix

Cool, My pleasure. Lots of fun learning the tracker, it's really great. And really great that you and the other developers are willing to breath new life into it smile

the note off bug is an interesting one!

It might also be related to something else I've seen; when stopping playback the tracker sends Note Offs for any active notes. But a couple times I've seen Note Off messages for a note not in the track or multiple Note Offs for the same note. For the most part, extra Note Offs are benign  when shutting down, but does hint to a problem with a note stack.

› Shutdown

This Pattern is super simple, a single track with 2 Instruments on 2 Channels.
Yogi
EDIT: Looking over this log it occurred to me that the track's c variable as used in the Midi Output Configuration Tab, Note Off '8c n 0', is loading the track's new Channel (that is picked up by the new note entry). Maybe c is updated to the new channel too early; before the Note Off is sent

So I've been testing most the day, and think I'm getting a better understanding.

1. I think you have to define the Bank values on each Track that has Midi Instruments with at least one Instrument with the MSB LSM set, at the top. Otherwise, on the first midi note the tracker will transmit the 0x7F 0xFF  defaults. If the Program isn't defined, you will get a PC 0x7F on the first note also but this can be over ridden with a macro on the same row.

2. You can mix Instruments with different Midi Channels on the same track but the note stack gets messed up, I.E on a track you have a C-6 on Ch1 active then a few rows down you have a F-5 on Ch2. When the player sees the second note, F-5, it will generate a Note Off for C-6 on Ch2. This will leave the 'real' note, C-6 on Ch1 hanging.

3. Can use different  Instruments with different Bank/Program setting if they have the same Channel on the same track.

4. The best workflow so far is to dedicate a track for each Channel, set the Bank Low/High and Program sliders to change Voices for each Channel Instrument but don't mix Channels on the same track. Can also use Zxx Macros to send PC and Bank Selection messages as needed.

This output

B0    00    7F    1  ---  CC: Bank MSB          
B0    20    FF    1  ---  CC: Bank LSB          
B0    00    14    1  ---  CC: Bank MSB          
B0    20    0A    1  ---  CC: Bank LSB    

I think, is due to 2 Instruments both set to the same Channel but on different Tracks. I can use the same Instrument on two tracks or the 2 Instruments on the same track. It was setting up a polyphonic and multi-timbral on same Channel on the two tracks.
Yogi

Just discover another behavior related to the Bank LSB/MSB and PC sliders.
When I start Schism and load my test mod(2 tracks and 2 Midi Instruments) it emits the MSB LSB messages as described above, as well as a PC with 0x7F value.
But If I go into the Instruments and set the sliders to a value and then reset them to OFF, then it will only send a Bank MSB of 0x7F.
Yogi

Well Thank You for all your efforts. As Schism is now, it is very usable smile
Yogi

Sure, can confirm- Win32 20160918
When config
[General]
....
midi_like_tracker=0

The ctrlF1 System Configuration screen, "MIDI mode = IT semantics"
The tracker will output midi messages- Note, PC, Bank Select in addition to Tick, double Start/ Stop messages and a shutdown

› IT shutdown

When config/
[General]
....
midi_like_tracker=1

The ctrlF1 System Configuration screen, "MIDI mode = tracker semantics"
The tracker will output Tick messages, single Start/Stop messages with a very verbose midi shutdown, but no note/PC/Bank messages.

› tracker shutdown

In both modes the Zxx Midi macro command works.
Yogi

EDIT: Just uploaded the setup of a very simple midi test- .it mod, Midi Ox log and copy of config Don't know if this will be of use

Thanks so much sandneil, didn't know Schism had these features already smile HAPPY HAPPY! Been digging into the Help files and testing in my free time these last two days.
I think there is a bug with Bank Change MSB/LSB messages.
1. When I have a Midi Instrument on a track, a MSB of 7F and LSB of FF is sent at the start. These seem to be a default value, and FF is illegal for a CC message (FF is a Sys RT reset message).
2. If I set the LSB and MSB slider in the Pitch tab, for example 10 and 10, The MSB will be 0x14 instead of 0x0A. It seems to always be double the slider setting.
3. With these sliders set to values, they are sent first when a Note On is encountered which is good. But then every 6 ticks this pattern is sent for the whole track:
B0    00    7F    1  ---  CC: Bank MSB         
B0    20    FF    1  ---  CC: Bank LSB         
B0    00    14    1  ---  CC: Bank MSB         
B0    20    0A    1  ---  CC: Bank LSB   
PC messages are sent also, if set, at this same interval.
For the most part, the best solution is using Zxx macros to send Bank Change and Prog Change messages instead of the sliders. But the MSB/LSB message at the start, sending the FF could reset a tone generator, missing some Note messages.

I also have been keeping notes on what I find, mainly for my own use but if they are of any use the latest copy is in my Dropbox
https://www.dropbox.com/sh/4owgj88y8pbf … LRq-a?dl=0
I'll be updating  from time to time as I try things out smile
Yogi

One of my favs
https://www.youtube.com/watch?v=sjNg_k1PuXw
Yogi

So yet another test.

I found the Zxx midi macro command, and this relates to the 'MIDI Output Configuration screen' Macro Setup. So I put Z83 (F0F00118) on a track and it sends a SysEx message-
  SYSX: 240 1 24 247 =  F0 01 18 F7
The 01 and 18 from the macro is framed by the SysEx Start F0 and End F7. Not sure of the rules here. So changed Z83 to F0F00118101010 and now sends-
  SYSX: 240 1 24 16 16 16 247 = F0 01 18 10 10 10 F7.

I'm guessing the second 'F0' denotes a SysEx type. Trying a change to 'F0910101' sent-
MidiOx: "145  1     1    2  C#-1 Note On"    Which reads NoteOnChannel2(0x91) C#-1(0x01) Velo(0x01).
Yogi

Also the 20160918 branch runs well on Pi, even subbed FA for MIDI tick. Spit out lots of Start messages HAHA. This was Pi to PC/MidiOx end-to-end test smile Another minor OT detail, Schism  does run with QjackCtl, just can't run the Jack server (which makes sense).

As to Note on/off, no don't see any traffic. But to me, thought it would be something like a 'instrument' set to a Channel to be used on a track. With the entry '9c n v'; this looks to me like hardcoded 9=high nibble of status, Note message, and  c=variable for low nibble, the Channel. With n and v variables to complete the message. So I thought either a placeholder for function or some way to send notes from a track.

Just did some simple tests, changing the Note On to 91 01 01, to see if it would send these absolute values but no. Then changed the 'Embed MIDI data' to On but no change. Much of the Midi Screen I don't understand, kind of 'poking at it with a stick to see if it does something' smile

It would be a wet dream if this works smile Being able to track an external synth along with samples would be the Holy Grail smile
Yogi

sandneil wrote:

@yogi, here we go https://dl.dropbox.com/s/vg66exuczksip4 … racker.exe smile

this may be of some interest to us both... http://das.nasophon.de/mididings/

@PULSELOOPER bangin'!! smile

\o/ Great Work! Now totally configurable smile This is such a great patch to Schism (also really digging the OPL2 emu), Thank You So Much. It really opens up many possibilities for integrating drum machines and sequencers. Very excited! 

  As to the Win toolchain, I'm kind of halfway there. ATM have msys and GCC (arm-none-eabi 4.7) for Midibox.org builds, so will have to see if I can have the two side by side. May be with separate SET PATH= commands. And sorry, last night opened a 'pull request' not knowing what I was doing, I'm such a git-hub n00b.

  Had looked at Mididings, about a month ago (when I first started setting up the Pi) but once I figured out QjackCtl, kind of thought that was enough. A lot of what MidiOx does, routing wise, is seamless in ALSA so even QjackCtl isn't needed very much. Till now, hadn't needed the more in depth monitoring features of M.Ox on the Pi but will try out Mididings (I think it has an armhf build in the repo) because really do need a solid midi monitor.

@PULSLOOPER, A++ and thanks for the MOD file smile

Well, off to re-build on the Pi. Thanks again,
Yogi

sandneil wrote:
yogi wrote:

Just a little follow up after some testing with MidiOx.
I'm using the current release Win32 20160913 with s3m Mods sending into Midi Ox's Midi Sync Transport detecting the Tempo.
On this setup there is a minor difference between the Mod's labled Tempo and the detected Tempo. Mods displaying Tempo 80 are detected at 81; and mods labeled as 125 are detected as Tempo of 128.
The difference is probably due to Midi Ox's detection smile Looks good!

One thing that I don't understand is the Midi Output Configuration page. The init values were:
start=FF
stop=FC
tick=
So I changed these to:
start=FA
stop=FC
tick=F8
At one point I wanted to see the Start/Stop message behaviour better, so I reset the tick field to blank. But ticks continued to be sent. Then also blanked the Start field but Start messages also are sent regardless of the values on the Midi Configure Page. Am I misunderstanding the use of this page? It does update the config file and I have tried re-starting Schism. Or does it describe how/what the tracker responds to?
It's not really an issue for me but just trying to understand,
Yogi

are you able to compile yourself on windows? well spotted, it was pretty broken (just totally ignoring user settings and sending FA/FC/F8 no matter what). i think i have done a quick fix for start/stop/tick that should work (e.g. blanking out the tick field should send no tick messages) - if you're not able to compile it i will do a windows one for you ASAP

if you know of any midiox-like midi analyser for linux that would be great too

edit: oops forgot to link the branch

I don't have a Win toolchain (VS?) installed but do have the RPi setup (linux Deb Jessie). And I wish I could find a Linux 'MidiOx', the best I can do is set the midi out on the Pi to an interface and cable to another interface on the PC with MidiOx.

If you can do Win build that would be more direct, but I was going to do the Linux-to-Win setup anyways to test the RPi build. Will rebuild the RPi Schism in the AM at any rate smile
Yogi

Oh yes, Midi ox is the tool to filter. 'Broken' or not, very happy to have it sending midi clock smile The other workaround is to set the Midi out port to disable

I'm not sure if it has impact but with these tests I had the Midi Mode set to  "IT semantics". But just a little bit ago I set it to "tracker semantics". I don't really know what the differences are but I noticed that with the latter setting, when I stop the mod, this is being send out:

› MidiOx log

It appears to me a more complete shutdown of all midi channels. Interesting feature.
Yogi

Just a little follow up after some testing with MidiOx.
I'm using the current release Win32 20160913 with s3m Mods sending into Midi Ox's Midi Sync Transport detecting the Tempo.
On this setup there is a minor difference between the Mod's labled Tempo and the detected Tempo. Mods displaying Tempo 80 are detected at 81; and mods labeled as 125 are detected as Tempo of 128.
The difference is probably due to Midi Ox's detection smile Looks good!

One thing that I don't understand is the Midi Output Configuration page. The init values were:
start=FF
stop=FC
tick=
So I changed these to:
start=FA
stop=FC
tick=F8
At one point I wanted to see the Start/Stop message behaviour better, so I reset the tick field to blank. But ticks continued to be sent. Then also blanked the Start field but Start messages also are sent regardless of the values on the Midi Configure Page. Am I misunderstanding the use of this page? It does update the config file and I have tried re-starting Schism. Or does it describe how/what the tracker responds to?
It's not really an issue for me but just trying to understand,
Yogi

48

(2 replies, posted in Atari)

Wow, never knew. Dual Pokeys are a tight fit in an XL, trying to imagine 4. BTW, B & C ComputerVisions has Pokeys for $10, just bought a pair. Most other sources are selling em for ~$20
Yogi