Jump to content

Kylearan

Members
  • Posts

    211
  • Joined

  • Last visited

Posts posted by Kylearan

  1. Ha, nice! Both undo/redo and especially more playback accuracy had been on my to-do list (along with porting the improved sound emulation from the newer Stella versions), but I found it hard to motivate myself to actually do it... was/am kinda burned out on this project. So I'm really glad somebody did this even though you probably had to endure some bad code of mine! :D

    • Like 1
  2. The problem you described appears when the current working directory is not the same as the TIATracker executable when starting the program. This can happen for example if you have linked the .ttt file extension to TIATracker in Windows and start the program by double-clicking a .ttt file (which right now TIATracker doesn't support anyway).

     

    This is a known (and admittedly quite silly) problem which I haven't found the time to fix yet, sorry!

     

    Any plans to include an 'Export to WAV File' option in a future release?

    As I wouldn't know how to do that, probably not. ;) I believe there should already be tools to capture WAV from your soundcard.
  3. For quick sound design, you could always use a TIATracker percussion instrument. The percussion editor lets you define all three register values per frame by easily dragging around with the mouse or entering them manually, with almost no practical length limit, and you can immediately hear what it sounds like by just pressing a key. This allows you to quickly experiment with very fast turnaround times.

     

    Downside: It uses Stella's old sound emulation which is not perfect, but for initial experiments and a lot of normal cases, it should be good enough.

  4. Has anyone tried dithering between adjacent frequencies to get more in tune notes? Would it sound like vibrato?

    As Thomas has said, you'd have to do it multiple times per frame, the more the better. So for a pure music cartridge that would be possible, but for a game or a demo, where you need the CPU cycles for your display kernel, this would be difficult (and more importantly, very specific to the display kernel). And since TIATracker is aimed mainly for music in games or demos, I decided not to support this.

     

    Apart from that, a musician told me that changing parameters multiple times per frame makes a big difference for sound quality only if you'd have more parameters like filters anyway, which we don't have on the VCS.

     

    Also could this tracker be adapted to POKEY? Or is there already one for that?

    I have no idea about POKEY, but a quick Google search tells me there are trackers for that already.

  5. Just thinking out loud here without testing it: The division into three areas can be done by manual comparisons (2 cmp instructions). If you do that first, then you could re-use the result for the division by 3, i.e. you only need a look-up table of size 12 (0, 3, ..., 33) and then add a base value depending in your previous cmp results (+0, +36, +72). This should be very fast and might be light on ROM.

     

    EDIT: Scratch that, this is nonsense - I should refrain from "thinking out loud" and think things through before posting instead. :)

     

    EDIT 2: Or maybe not. (I'm tired today...) After the manual comparisons for the div 36, you could subtract 36 or 72 from the sprite position if it's in area 2 or 3, and then use the smaller, 12 byte look-up table for the div 3 and add 12 or 24 again to the result.

  6. Note that PAL vs. NTSC music is not only about speed but also about pitch. TIA Notes have slightly different frequencies and thus sound differently when played with 50Hz vs. 60Hz. It's a small difference, but it might mess with what the composer (or listener) considers to be an acceptable level of "out of tune" for a given song. :)

  7. What about this do you consider "impossible"?

     

    Obviously it's not impossible in the literal sense. :) What I meant was that considering the limitations and the sound quality of the TIA, most people would consider it "imposible" to make a music collection in the sense that it woulnd't be worth listening to anyway.

     

    I should have used a different word; unlikeley perhaps? Anyway, I hope you get what I mean. :)

  8. I really just had an image of Carrot Soldiers and carrot band playing for the Carrot Kingdom flag...so I wasn't much thinking about the VCS at the time. ^_^;

    :)

     

    The pitch guide creator might fail horribly depending on the notes you used, but occasionally it has been able to bring in 2-4 more good-sounding notes than usual (and make some other notes more in-tune than before). So, good luck!

  9. While composing the song, have you limited yourself to the notes that sound not too much off-tune on the Atari 2600?

     

    If not, I recommend trying out the pitch guide creator in TIATracker. For the waveforms you like to use for your melody, you can enter the notes you have used in your song and TIATracker will try to create an optimized pitch guide where as many of these notes as possible will sound more or less in tune, sacrificing notes that you haven't used.

     

    The pitch guide creator was made for exactly that purpose, i.e. if a composer knows in advcance which notes are needed, it will bring in more in-tune notes than using the standard notes.

    • Like 2
  10. Looking at that BOUNDARY macro makes you wish for an assembler/linker that takes care of code and data placement for you, observing such constraints as "align 256 offset PLAYER_HEIGHT" or "must not cross a page boundary but otherwise can be anywhere" or "this conditional branch must cross a page boundary", without having to fiddle around manually, doesn't it? ;)

     

    (Almost there...)

  11. This is an instance where whitespace is very important - due to missing whitespace, dasm thinks "processor" is a label in your program.

    I've made the same mistake in the past as well, multiple times with different variations in fact, and I profoundly hate how most assemblers (and dasm in particular) require whitespace in certain areas. That's so anachronistic!

     

    It's also one of the reasons I started to develop a new 650x assembler of my own which is completely whitespace-agnostic. It's written in C++, and funnily enough I got stuck for almost an hour debugging my Makefile - only to find out that make expects tabs in certain places instead of spaces. Whitespace silliness strikes again... :twisted:

     

    It's 2017, for crying out loud! :mad:

    • Like 1
  12. New version 1.3 released:

    • Fix: In some circumstances the tracker used to crash when the right channel was longer than the left
    • Fix: In the "Export..." file dialog, the cancel button was sometimes ignored
    • Added export to MADS assembler
    • Added WUDSN IDE meta comments to dasm and MADS player sources
    • Turned on full compiler optimization, hopefully mitigating some problems on slower systems

    I've edited the first post with the new downloads. Enjoy! :)

    • Like 6
  13. If you only need an approximation and can get away with a small deviation from a "real" sine function (I often can), you can also use parabolas to generate sine tables in assembly.

     

    EDIT: Of course RAM to store the table is a problem here, but you only need half a sine table (or even only a quarter) and can mirror the other half, and also a shorter table (128 or even 64 bytes for the full sine table) might be sufficient.

    • Like 1
×
×
  • Create New...