Jump to content
IGNORED

[RELEASE] RASTER Music Tracker, v1.34.00


VinsCool

Recommended Posts

3 hours ago, VinsCool said:

But first I need to fix the dumbass attention span error I made last night, and then had caused me an hour of wasted time tracking down what was meant to be an STA but I somehow wrote STY...

This reminds me of a bug I had back in the 80s, where I had an INY instead of an INX.  Or maybe it was the other way around.

 

It took me forever to find it.  As I was reading the code, over & over, I kept reading the INY as an INX, since that is what I meant to use.  So even though it said INY on the screen, my brain kept interpreting it as an INX!  When I finally realized my error, I felt like such a fool.  The lesson, and one that carried over into my professional career later, is that one should always have someone else review your code!  You know what you mean to do, so it is easy to overlook typos like this.  The "eyeball pressure" of multiple people looking at the code causes the bugs to pop right out!

 

  • Like 3
Link to comment
Share on other sites

1 minute ago, StickJock said:

This reminds me of a bug I had back in the 80s, where I had an INY instead of an INX.  Or maybe it was the other way around.

 

It took me forever to find it.  As I was reading the code, over & over, I kept reading the INY as an INX, since that is what I meant to use.  So even though it said INY on the screen, my brain kept interpreting it as an INX!  When I finally realized my error, I felt like such a fool.  The lesson, and one that carried over into my professional career later, is that one should always have someone else review your code!  You know what you mean to do, so it is easy to overlook typos like this.  The "eyeball pressure" of multiple people looking at the code causes the bugs to pop right out!

 

So many times, I'll be stuck for a while.  As soon as I ask someone for help, and start explaining what I have done, and why something that should work doesn't, I immediately find the issue.

  • Like 2
Link to comment
Share on other sites

29 minutes ago, StickJock said:

As I was reading the code, over & over, I kept reading the INY as an INX, since that is what I meant to use.

Yes, that's exactly what is happening. I read save TERM1 to SAVE1, and read over it and tried to find a bug in code after it ;)

27 minutes ago, Stephen said:

As soon as I ask someone for help, and start explaining what I have done, and why something that should work doesn't, I immediately find the issue.

That's called Rubber Duck debugging. https://en.wikipedia.org/wiki/Rubber_duck_debugging

Very helpful!

 

  • Like 2
Link to comment
Share on other sites

11 hours ago, StickJock said:

This reminds me of a bug I had back in the 80s, where I had an INY instead of an INX.  Or maybe it was the other way around.

 

It took me forever to find it.  As I was reading the code, over & over, I kept reading the INY as an INX, since that is what I meant to use.  So even though it said INY on the screen, my brain kept interpreting it as an INX!  When I finally realized my error, I felt like such a fool.  The lesson, and one that carried over into my professional career later, is that one should always have someone else review your code!  You know what you mean to do, so it is easy to overlook typos like this.  The "eyeball pressure" of multiple people looking at the code causes the bugs to pop right out!

 

@StickJock That so easily happens. The human brain is a wonderful thing though. 

Still find this cool (take from here):

 

Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn’t mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae. The rset can be a toatl mses and you can sitll raed it wouthit porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe.

(heh heh  - I wonder how many are gonna comment on my atrocious spelling and typos here!

 

 

  • Like 4
Link to comment
Share on other sites

@VinsCool  Great work! I like the track "another dumb experiment VJ" (1.07min in) and the part of that track, (from 3.22mins in), in particular.  Very futuristic sci-fi soundtrack-esque sounds. Clever interplay.

 

I also particularly love the version of "Pinky" in the above video (13.00mins in), which would IMHO sound amazing as backround music for a fun A8 platformer, (Giana sisters, Sonic:lust:). Love the sound of the track 1 effect, (excuse my ignorance of the correct terminology).

 

Also the classical track, (Fugue in C major Stereo at 15.02mins in), which so reminds me of the kinda sounds of old 90's PC soundcards of the type I am sure probably featured is some MSDOS adventure games.

 

I follow your work and this thread with great interest.......albeit from a layman's standpoint. :P

Edited by Beeblebrox
adding more info
  • Thanks 1
Link to comment
Share on other sites

14 hours ago, Beeblebrox said:

@VinsCool  Great work! I like the track "another dumb experiment VJ" (1.07min in) and the part of that track, (from 3.22mins in), in particular.  Very futuristic sci-fi soundtrack-esque sounds. Clever interplay.

Thank you very much! I improvised this tune to test new new 16-bit code, so I'm glad you enjoyed some of it.

14 hours ago, Beeblebrox said:

I also particularly love the version of "Pinky" in the above video (13.00mins in), which would IMHO sound amazing as backround music for a fun A8 platformer, (Giana sisters, Sonic:lust:). Love the sound of the track 1 effect, (excuse my ignorance of the correct terminology).

Thanks! This tune was indeed part of a NES platformer homebrew game, and I liked a lot so I made a POKEY cover some time ago.

Despite its simplicity it does make use of many clever tricks to sound like this, which is surprisingly complex to achieve, especially without my RMT driver patch!

On the channel 1, you probably mean the melodic lead right? That's the POKEY trick to generate the sawtooth waveform, again impossible to do easily with the original RMT driver :D 

14 hours ago, Beeblebrox said:

Also the classical track, (Fugue in C major Stereo at 15.02mins in), which so reminds me of the kinda sounds of old 90's PC soundcards of the type I am sure probably featured is some MSDOS adventure games.

Thanks! That's exactly what I tried to achieve with the sounds I modulated in the instrument, so I'm glad this did the trick.

14 hours ago, Beeblebrox said:

I follow your work and this thread with great interest.......albeit from a layman's standpoint. :P

This makes me really happy to know!

More will come soon, so stay tuned for new updates and crazy experiments I may do in the process :D 

  • Like 1
Link to comment
Share on other sites

New release!

While this is not a "major" version, I still wanted to post an update, so here's the changelog from a few versions I have not shared to the public until now.

Enjoy!

 

Changes in RMT 1.32.00
-------------------
- Updated the driver binaries to a newer and better WIP version, including export binaries. Work in progress ASM code is also included. Beware, it is messy...
- Bump the version number to 1.32 since the driver update is a major change, and numerous fixes will be done since the last 1.31 revision
- Clearly show the exact version number, since RMT may be updated pretty often, without really being warrant of a major release... Like this one for example :P

 

Changes in RMT 1.32.01
-------------------
- Added 16-bit pitch accuracy frequencies display for Distortion 2, A, C and E (C table 2)
- Added Sawtooth pitch frequencies display, as well as if the waveform is inverted by swapping the CH1 and CH3 values

 

Changes in RMT 1.32.02
-------------------
- Fixed a bug when playing a song with follow cursor enabled would always switch back to "play from current position" mode even if the mode was set to "track loop"
- Fixed a memory leak caused by the 16-bit frequencies calculations, which lead to a chance out of 2 to cause a crash when RMT is being executed
- Changed the empty tracks appearance from a single dash per row to a dotted pattern identical to tracks with data into them (thanks zaxolotl for the suggestion!)

 

Changes in RMT 1.32.03
-------------------
- Tweaked the "Go to line: XX" appearance by moving it a few tiles to the left, in order to mask the line number. This may help reduce the number accidental recursive GOTOs when they are edited
- Also changed the GOTO colours so only the number colour will be changed when highlighted. The number will be white by default
- Added a line separating the Left/Right tracks in the SONG block, making it easier to identify which channels belong to which side
- Small improvement to make the "Go to line" on tracks more appealing visually: highlight the number when the cursor is actually active in tracks, and keep the "Go to line" text more visible as well.
- Set the cursor position on the Volume envelope by default for instruments, to avoid accidentally overwriting the name when cycling through instruments (thanks PG for the suggestion!)
- Properly fixed the Follow Cursor Play bug by also making sure the parameter was defined in the Subsong change as well
- Fixed a bug where using the PAGEUP/PAGEDOWN keys in tracks at the same time as play+follow mode is active would cause graphical glitches since the line would try to move at the same time of following the cursor

 

Changes in RMT 1.32.04
-------------------
- Re-introduced the Distortion 6 BASS16 code in RMT, with updated description. You can also set the Distortion used for it with CMD6. $0Y = Distortion
- Small update on Distortions and Commands description, Added infos for new BASS16 CMD6 code, as well as Distortion A Sawtooth mode using AUTOFILTER + CH1+3 1.79mhz mode.

rmt132.04.zip

  • Like 9
  • Thanks 2
Link to comment
Share on other sites

Uh oh-- when I said I wanted to turn RMT upside down to make it do things I wanted it to do, I was not actually expecting it to happen literally ?

Moral of this hilarious sleep deprivation funtime: don't try to scale with negative numbers.

I mean what? We'll see... too bad I'm kinda stuck with integers for the moment...

image.thumb.png.b789ecf31eef4b52427dc9f5663603a6.png

  • Haha 4
Link to comment
Share on other sites

2 hours ago, VinsCool said:

Uh oh-- when I said I wanted to turn RMT upside down to make it do things I wanted it to do, I was not actually expecting it to happen literally ?

Moral of this hilarious sleep deprivation funtime: don't try to scale with negative numbers.

I mean what? We'll see... too bad I'm kinda stuck with integers for the moment...

image.thumb.png.b789ecf31eef4b52427dc9f5663603a6.png

Seems that you still have some work to do to run it upside down ??

 

  • Haha 1
Link to comment
Share on other sites

I have made some more progress with the scaling code, now I've got all elements scale without being displaced :)

I need to adjust the variables related to Window size and the Width/Height of the image output for processing the last few parameters related to the objects position and the number of Track lines on screen, but this should be pretty trivial to do now!

  • Like 2
Link to comment
Share on other sites

1 hour ago, dhor said:

Somehow I highly interested into this. Show me the frame occupancy :)

Thank you!

What do you mean by frame occupancy, exactly? The amount of CPU time needed to execute the music routines?

If this is what you mean, my hacked driver does take some more time... but also saves a lot few different parts.

In general, the performance hit is a bit more heavy than the original driver version, but the new features and changes applied to my patched driver makes it worth it, I believe :) 

Link to comment
Share on other sites

13 hours ago, Wrathchild said:

Will it be able to output lzss streams or will @rensoup need to make a new version of rmt2lzss? 

I have plans to make this happen, but this is far away in my list of things I want to do.

Currently, I don't think have the skills necessary to make certain things possible.

Link to comment
Share on other sites

Changes in RMT 1.32.05
-------------------
- Added scaling support. 100% to 300% There is no filtering yet, only integer multiple of 100% will look pixel perfect.

 

Hop into the config dialog and change the scaling to your liking :)

Everything should work properly, so please tell me if you find a bug related to the scaling.

rmt132.05.zip

  • Like 5
  • Thanks 1
Link to comment
Share on other sites

I may have got some crappy Bilinear filtering to now, but somehow it looks different for me between my Windows 10 VM and WINE.

 

Here's a screenshot from WINE:

image.thumb.png.62cd707feda0ab9945b0deb67fb4cac5.png

And one from Windows 10:

Unknown.thumb.png.87ddfc7c2fa0cc7c232d0cb2c6678b69.png

 

Can I ask for some quick tests and see what are the image quality that is output? Any setup will work, I just want to know if there's other things related to this kind of mismatched appearance :)

rmt132test.06.zip

Link to comment
Share on other sites

48 minutes ago, VinsCool said:

 

 

 

Can I ask for some quick tests and see what are the image quality that is output? Any setup will work, I just want to know if there's other things related to this kind of mismatched appearance :)

 

Zoom is OKish. 

But I have some problems with your used font. 

Somehow 8 and B were so close, yet could be mixed up. I thought, it is cause by the small size, but it is still problematic in any zoom.  

  • Like 2
Link to comment
Share on other sites

@VinsCool 

It would be a breathtaking feature, to have the "real" waves" shown in RMT. 

 

Altirra is at least showing the separated squares and PWM on each channel . 

 

 

Fiddling with the "over all resulting" wave , could be a REALLY helpful feature. 

If Phaeron could help there?

Edited by emkay
  • Like 1
Link to comment
Share on other sites

Yeah thanks for the test for the scaling filter, it was a test and I don't like the inconsistent appearance so that's not going to stay that way.

I will find a better way later.

At least now I know Windows outputs the same thing for everyone I asked so far.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...