Author Topic: Houston Tracker - 1-bit music editor  (Read 21006 times)

0 Members and 1 Guest are viewing this topic.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Houston Tracker - 1-bit music editor
« Reply #15 on: March 02, 2013, 11:59:38 pm »
Yeah for in-game use I meant like TI-Boy SE. However, seeing as some of your sound effects in Texas Beeping Massacre are slightly PC-88/Sega Genesis-esque, I am unsure how well it would sound.

As for note names, I thought about just an option to select notes through a drop-down if you press a certain key while over an hex value, and selecting a note would automatically paste in the appropriate hex code. Of course, however, this might be better if this is kept for a TI-83+ port that someone would make, since the 82 RAM is very limited. (The TI-83+ has less RAM, but it has 164 KB of archive so you got much more memory to work with)

Also VirtualTI doesn't support CrASH nor Ace. It says transmission error when the Warning: Backup screen appears on the calculator then selecting continue causes Error in Xmit. Sadly there is no existing emulator that can emulate the TI-82 properly it seems.
« Last Edit: March 03, 2013, 12:04:04 am by DJ_O »

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: Houston Tracker - 1-bit music editor
« Reply #16 on: March 03, 2013, 02:13:36 am »
So i just tried this out with the new TilEm2 and it's super cool. The only thing is that the keys don't seem that responsive. I had fun just putting in random numbers and listening to what came out :)

Offline utz

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 161
  • Rating: +28/-0
    • View Profile
    • official hp - music, demos, and more
Re: Houston Tracker - 1-bit music editor
« Reply #17 on: March 03, 2013, 11:31:03 am »
@chickendude Wait... are you telling me that TilEm emulates sound now? Then why on earth am I still wasting my time on VTI???
I've fiddled quite a bit with the key handler, admittedly it's not perfect yet. The problem is, if I make the key delay any shorter, key repeat will kick in too quickly sometimes. Btw it feels a lot less quirky on real hardware.

@DJ_O: VTI does work for Crash and Ace, you just need to press "1" really quickly before the "User interaction required bla.." dialogue pops up. Sadly it's true that the emulation isn't accurate.

I somehow like your idea with the drop-down thingy. Eventually I'm gonna have to do something about that hex issue, considering all the requests ;)

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: Houston Tracker - 1-bit music editor
« Reply #18 on: March 04, 2013, 01:02:53 am »
You'll need to build it from the source at the SVN (svn co https://tilem.svn.sourceforge.net/svnroot/tilem tilem) with SDL installed. Then you can find an option to turn on sound in the Link menu :)

As for the keypresses, one thing you can do albeit a bit more complicated is after pressing a key have a timer that counts up until you release it. Once you reach a certain value you can start another timer which will let you scroll more quickly. So when you press the key there will be a short delay before the next repetition kicks in after which it'll scroll more quickly (like the TI OS menus/cursor). Or if you repeatedly press a key it'll scroll quickly, too. And another option for the note names might be to just place an octave number first then the note name, ie 1C# would be the lowest note and 4G# would be the highest. Maybe an apostrophe or something next to the note could indicate a sharp sign.

Anyway, it's a really cool program and especially if we can get it ported to some more popular calculators i think a lot of people could really have fun with it.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Houston Tracker - 1-bit music editor
« Reply #19 on: March 04, 2013, 02:12:47 am »
utz ah ok thanks for the info. Wish me luck because I tried that before, to no avail. X.x


And yeah I remember emulation not being accurate, although it was way worse with the TI-83+ and 89. (nowhere as bad as Flash Debugger, though). To this day, the most accurate emulator is PindurTI, but it lacks sound support and a GUI (so if you don't have the readme you don't know the keys). I wouldn't be surprised if TilEm topped it since it's still updated, though. Wabbit comes very close for newer calcs, except that contrast is messed up.

Offline utz

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 161
  • Rating: +28/-0
    • View Profile
    • official hp - music, demos, and more
Re: Houston Tracker - 1-bit music editor
« Reply #20 on: March 04, 2013, 09:09:46 am »
You'll need to build it from the source at the SVN (svn co https://tilem.svn.sourceforge.net/svnroot/tilem tilem) with SDL installed. Then you can find an option to turn on sound in the Link menu :)

Ah, that's awesome. Means I'll finally be able to switch development to linux. However, the sound support is rather problematic at the moment: The resulting pitch depends on the sampling rate and latency settings, which is clearly unacceptable.

As for the keypresses, one thing you can do albeit a bit more complicated is after pressing a key have a timer that counts up until you release it. Once you reach a certain value you can start another timer which will let you scroll more quickly. So when you press the key there will be a short delay before the next repetition kicks in after which it'll scroll more quickly (like the TI OS menus/cursor). Or if you repeatedly press a key it'll scroll quickly, too.

Hehe, that's actually more or less how I'm doing it. I've checked some more - the problem of unresponsive keys seems largely due to faulty emulation,  (Tilem seems especially bad in that respect), on hardware the keyhandler runs pretty smoothly. It used to be faster, but beta-testers were complaining that it's too fast, so I slowed it down again ;) The only thing that makes it a bit sluggish is the process of scanning through 20+ keys. Have to see how I can optimize it further.

@DJ_O I have PindurTI too. And of course I can't remember where I put the godd*** readme. ;) Btw thanks a ton for the front page post!

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Houston Tracker - 1-bit music editor
« Reply #21 on: March 04, 2013, 05:19:27 pm »
No problem :). I actually planned to do it for a few months and there were even drafts written for TI-1-bit Pack, but unfortunately I lacked the time to do so. The release of Houston Tracker was a good occasion to post a news at the same time, though. :P

Also I noticed that in VirtualTI, when using Windows 7, the calc lags like crazy when you use the computer keyboard for keypresses rather than the calculator keypad. It made it particularly bad to play Mega Man, for example (it isn't due to sound because I had the same problem with sound disabled). Check this video for what I mean

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Houston Tracker - 1-bit music editor
« Reply #22 on: March 04, 2013, 07:50:46 pm »
Not intending to get off topic or anything, but Megaman always ran horrible on my TI-86. IIRC it was even slower on hardware than in VTI. It always bothered me that it ran so poorly.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Houston Tracker - 1-bit music editor
« Reply #23 on: March 04, 2013, 08:25:58 pm »
I don't think I witnessed such lag when hitting keys, though. It wasn't super fast, but in VTI it literally freezes until 1 second after I release the key.

Hopefully a compiled build of TilEm2 with sound support comes out soon :P

Offline utz

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 161
  • Rating: +28/-0
    • View Profile
    • official hp - music, demos, and more
Re: Houston Tracker - 1-bit music editor
« Reply #24 on: April 12, 2013, 10:36:56 am »
Hi, would anybody with a ROM 19.006 care to test this experimental TI82CS build? Test on emulator first, to be sure.

The build contains the upcoming beta 0.2 with a ton of new features, which will be released very soon.

Offline utz

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 161
  • Rating: +28/-0
    • View Profile
    • official hp - music, demos, and more
Re: Houston Tracker - 1-bit music editor
« Reply #25 on: April 15, 2013, 05:44:04 am »
hey you guys! i see that 3 people downloaded the 82CS build, but nobody reports back here... c'mon xD

Anyway, version 0.2 is now officially released. As mentioned previously, it includes many new features, including:

- Copy/Cut and a few other things to make editing easier
- 2 new sound routines - TIM-FX (2 PFM channels, various fx), and Mark-2 (3 square wave channels) - sound demo
- Can now change the song speed from within the song data
- Rudimentary "Live" features: can now pause or loop the current row during playback
- Simple Load/Save: can now preserve one additional song in memory

The download link remains the same - http://irrlichtproject.de/downloads/houston.zip

Also HT now has it's own website, with an extensive online manual.

I've decided not to release the source yet, because at the moment it's really messy and unoptimized. I'll definately release it with the next version though. However, if somebody wants to start with porting to 83+/84+ already, just pm me and I'll forward the source.


Now I have a couple of questions for all you seasoned TI programmers.

First of all, I was wondering if somebody had a table or something for converting TI82 ROM and CrASH calls to TI83. Basically, I need bcall/Ion equivalents for the following calls:

D_ZM_STR = _vputs? (Print zero-terminated string in small (menu) font)
D_LM_STR = ??? (Print length-indexed string in small font)
M_CHARPUT = _vputmap? (Print 1 character in small font)
CLEAR_DISP = _clrlcdf? (wipe LCD, but keep GRAPH_MEM)
CR_GRBCopy = _IonFastCopy? (copy GRAPH_MEM to LCD)
BACKUP_DISP = _savedisp? (copy GRAPH_MEM to APD_BUF)

Also, does anybody know of a shell for TI85/86 which offers an equivalent for CR_GRBCopy, resp. does anybody have a library for this?

Another thing that intrigues me is the compatibility of 82STATS/STATS.fr/76.fr machines. Are those fully compatible with 83, ie. will a program compiled for 83 automatically work on these machines?

And my last question concerns the 83+. If nobody else wants to do a port, I might try to do one after all. My main reason for not considering it so far was that I thought nobody would give a f*ck, but it seems the opposite is the case. So anyway, here's the question: What is the actual CPU speed of the 83+? I have some sources saying it's 6 MHz (which would be great, because then I don't need to adapt the sound routines), some saying it's 12.5 MHz, and some saying that you can switch between two modes. So what info is correct?

I know I could check all this on google, but honestly I don't want to spend another 3 months comparing and verifying dodgy docs for calcs that I don't own.
« Last Edit: April 15, 2013, 05:53:24 am by utz »

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: Houston Tracker - 1-bit music editor
« Reply #26 on: April 15, 2013, 09:37:19 am »
The 85/86 have a memory mapped LCD, you should just be able to LDIR it over. I actually looked up a lot of equates between the 82/83 not that long ago, i can't remember what i did with the information i gathered though. D_LM_STR sounds like _VPutSN. B = the number of characters to display. I also have it marked as _ClrLCDFull, but it should clear the LCD without erasing the gbuf. CR_GRBCopy is a CrASH routine? If so, then ionFastCopy is probably its equivalent. If it's an OS routine (much slower), you've got _GrBufCpy. _SaveDisp copies the LCD to a buffer starting at the address in HL, i'm not sure if that's what you want or not. If you just want to copy the gbuf to another area in memory, you can just ldir it. Altogether it's like 10 or 11 bytes.

The 83+ is 6MHz, as are the 83+SE/84+/SE. The 83+SE/84+/SE calcs also have a 15MHz mode, but you'll have to specifically declare it, by default they run at 6MHz.

The 82 Stats.fr is essentially an 83. I'm not exactly sure what the 76.fr is, but i believe it can also run 83 assembly programs without any issue.

EDIT: And i would release the source anyway, even if it's messy and unoptimized. Messy and unoptimized source is much better and more useful than no source at all ;) I'd love to help with an 83+ port, but i have no way of testing if it actually works or not. I don't have any fancy earphones or even a radio to test with :/
« Last Edit: April 15, 2013, 09:46:17 am by chickendude »

Offline utz

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 161
  • Rating: +28/-0
    • View Profile
    • official hp - music, demos, and more
Re: Houston Tracker - 1-bit music editor
« Reply #27 on: April 16, 2013, 05:20:32 am »
Yo, thanks a ton, chickendude. This should be enough to get me started. Looks like 83/83+ port won't be so hard to do after all.

The sources... yeah, you're right, I'd better get them out sooner than later. Just want to make sure that all the different ports will be compatible sound data wise. And believe me, it does need a bit of cleaning up, right now even I don't understand some parts of the code xD

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: Houston Tracker - 1-bit music editor
« Reply #28 on: April 16, 2013, 06:31:47 am »
If you assemble for ion it's likely you can do the 83/83+ port in one go. I don't know how much saferam you need, but i'm pretty sure the 83 and 83+ have more than 82. I know for a fact that the 83+ has more. If you need any help with either, i'd be glad to help (though my testing will be limited to using TilEm2) :)

Offline utz

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 161
  • Rating: +28/-0
    • View Profile
    • official hp - music, demos, and more
Re: Houston Tracker - 1-bit music editor
« Reply #29 on: April 16, 2013, 11:08:03 am »
And TI83 port is done already. It was even easier than I thought, everything worked right away. However, I have no means of testing this on real hardware, so be careful.

Also I found (and fixed) a bug which prevented one of the sound routines from exiting.

Download link stays the same, http://irrlichtproject.de/downloads/houston.zip
You will need Ion 1.6U to run HT on TI83.


@chickendude: Luckily, I don't need saferam at all. I just use APD_BUF as a lazy way of backing up the screen. I'll probably do the TI83+ port tomorrow. Need to adapt some port values for that, which I'm too lazy to do right now ;)