Chat

Author Topic: > DefleMask v0.12.0 RELEASED! <  (Read 195767 times)

Offline DevEd

  • Full Member
  • Posts: 359
  • Not to be confused with Delek
> DefleMask 10 pre-release -FEEDBACK, PLEASE- <
« Reply #135 on: January 08, 2015, 09:57:03 am »
Bill Gates told me that they skipped 9 only to stay in the same version number than DefleMask because he likes chiptunes. :D
Not to sound like a back-seat moderator, but that post was incredibly off-topic.

Offline Delek

  • Sali para ver
  • Administrator
  • Hero Member
  • Posts: 1810
    • Delek's Website
    • Email
> DefleMask 10 pre-release -FEEDBACK, PLEASE- <
« Reply #136 on: January 08, 2015, 10:03:20 am »
Your post about Windows 9 not existing is the offtopic one, my post was only an example to clarify why forward compatibility is impossible. Who cares if Windows 9 don't exist?

Offline DevEd

  • Full Member
  • Posts: 359
  • Not to be confused with Delek
> DefleMask 10 pre-release -FEEDBACK, PLEASE- <
« Reply #137 on: January 08, 2015, 10:11:58 am »
As for the Gambatte thing, I believe it has something to do with the header. RGBDS (a Game Boy assembler) contains a utility named "rgbfix", which will automatically apply the correct header to a GB ROM. I suggest you look into implementing that into Deflemask.

One thing I will say, is that all Game Boy ROMs are required to have the Nintendo logo in the header, otherwise they won't work, hardware or otherwise.
« Last Edit: January 08, 2015, 10:13:56 am by DevEd »

Offline Delek

  • Sali para ver
  • Administrator
  • Hero Member
  • Posts: 1810
    • Delek's Website
    • Email
> DefleMask 10 pre-release -FEEDBACK, PLEASE- <
« Reply #138 on: January 08, 2015, 10:50:11 am »
DefleMask writes the Nintendo logo in .gb roms, they were tested on an actual Game Boy and played fine. I don't know why Gambatte fails to load it if a true Game Boy can. Maybe it is not 100% accurate after all.

Offline Delek

  • Sali para ver
  • Administrator
  • Hero Member
  • Posts: 1810
    • Delek's Website
    • Email
> DefleMask 10 pre-release -FEEDBACK, PLEASE- <
« Reply #139 on: January 08, 2015, 11:06:16 am »
According to Gambatte source:
mw_.setWindowTitle(strippedName(fileName) + (pak.headerChecksumOk() ? "" : " [bad]") + " - Gambatte");

The checksum is giving problems, strange, because in a real game boy every rom worked.

I uploaded two files exported from DefleMask demo songs, the header is always the same, one file works, the other don't. Even having THE SAME HEADER. Gambatte is doing some strange thing.
« Last Edit: January 08, 2015, 11:52:02 am by Delek »

Offline DevEd

  • Full Member
  • Posts: 359
  • Not to be confused with Delek
> DefleMask 10 pre-release -FEEDBACK, PLEASE- <
« Reply #140 on: January 08, 2015, 12:16:33 pm »
I don't think it's the checksum that's causing problems. I tried changing the checksum of a ROM that did work, and Gambatte identified it as "bad", but it still worked.

Also, according to this, there is no Game Boy emulator currently available* which is 100% accurate to the original hardware. Although Gambatte, bgb, and Bizhawk seem to have perfect sound emulation**.

* The GB/GBC emulator used for 3DS Virtual Console is 100% accurate to the original hardware, but the source code is not publicly available due to being made by Nintendo themselves.
** Actually, there is one inaccuracy I noticed. In Shantae, when the sound fades out, it doesn't fade out all the way in Gambatte, bgb, or Bizhawk. However, when played on hardware[citation needed] and in the Virtual Console version, the sound fades completely.

Offline Delek

  • Sali para ver
  • Administrator
  • Hero Member
  • Posts: 1810
    • Delek's Website
    • Email
> DefleMask 10 pre-release -FEEDBACK, PLEASE- <
« Reply #141 on: January 08, 2015, 07:38:58 pm »
According to that list, BGB, BizHawk and Gambatte are the most accurate ones as you said.
BizHawk uses the Gambatte's core, so we only have BGB vs Gambatte.

DefleMask .gb files are working flawlessly on BGB, an on actual Hardware!, but in Gambatte only some roms are playing fine. The conclusion is that this is a bug of Gambatte?

B00daW

  • Guest
> DefleMask 10 pre-release -FEEDBACK, PLEASE- <
« Reply #142 on: January 09, 2015, 12:18:32 am »
1.) Dxx command seems to be ignored/broken in release 10a; at least with SMS.  Did not try with other chips because became too frustrated.  Bxx command could be used but then you could not reuse patterns.
Working fine here, can't replicate it. Do you have a .dmf of this?
2.) DefleMask 10 DMFs do NOT load in 9.  [...]  Not compatible.
Forward Compatibility? What you are asking is like playing a Windows 9 game on Windows 95.  ;D

.dmf files are backward compatible, but not forward compatible.

1.) Attached.  Dxx doesn't appear to work if it's the last pattern.

2.) Sorry.  I meant forward-compatible.  Didn't think there would be a ton of changes that would break formatting.


Offline Delek

  • Sali para ver
  • Administrator
  • Hero Member
  • Posts: 1810
    • Delek's Website
    • Email
> DefleMask 10 pre-release -FEEDBACK, PLEASE- <
« Reply #143 on: January 09, 2015, 09:29:00 am »
1.) Attached.  Dxx doesn't appear to work if it's the last pattern.
Dxx will go to the next pattern, if you are in the last one, there's no next one. Where's the bug?

In the last pattern you should use Bxx to generate a looped track.

B00daW

  • Guest
> DefleMask 10 pre-release -FEEDBACK, PLEASE- <
« Reply #144 on: January 09, 2015, 01:38:16 pm »
1.) Attached.  Dxx doesn't appear to work if it's the last pattern.
Dxx will go to the next pattern, if you are in the last one, there's no next one. Where's the bug?

In the last pattern you should use Bxx to generate a looped track.

On FamiTracker if Dxx is used on only one pattern it still works.  Being how this is potentially frustrating is if you want to use different time signatures each frame.  Dxx is the most helpful command for this.

Offline Delek

  • Sali para ver
  • Administrator
  • Hero Member
  • Posts: 1810
    • Delek's Website
    • Email
> DefleMask 10 pre-release -FEEDBACK, PLEASE- <
« Reply #145 on: January 12, 2015, 10:01:09 pm »
Dxx making a song loop at a specific row could be added, but I should modify too the VGM Export sub program and rom builders. I prefer not to touch them atm.

I updated one again the pre-build. Any other requests or bugs?, I will release it soon.

djsquarewave

  • Guest
> DefleMask 10 pre-release -FEEDBACK, PLEASE- <
« Reply #146 on: January 13, 2015, 12:55:04 am »
A few thoughts from playing around just now:

-MIDI keyboard support is awesome! Thank you so much for this!

-Would it be possible to add a toggle, or at least have legacy support for the old behavior of the volume column for FM chips? Pretty much every track I've done relies on the old behavior and doesn't sound right in the new version. As nice as MIDI in is, I'll have to stick with the old version because of this. :(

-I'm getting weird pops in places that sounded perfectly fine in the previous release if I have portamento and vibrato active at the same time. Easy to reproduce by just putting in a note with effects 02 20 and 04 53 on the same line. DMF attached.

Offline Delek

  • Sali para ver
  • Administrator
  • Hero Member
  • Posts: 1810
    • Delek's Website
    • Email
> DefleMask 10 pre-release -FEEDBACK, PLEASE- <
« Reply #147 on: January 13, 2015, 10:47:31 am »
To reproduce the previous behavior of the volume in Genesis you should use effects 12xx, 13xx, 14xx and 15xx with your volume value (change the TL of ALL operators at the same time)

I will check that vibrato bug, thanks.

B00daW

  • Guest
> DefleMask 10 pre-release -FEEDBACK, PLEASE- <
« Reply #148 on: January 13, 2015, 05:44:05 pm »
The UI is feeling a lot better now and the input segregation works nice for subwindows.  I like the vertical command entry a lot better now but still feels odd that we're entering two nybbles at a time rather singular nybbles vertically.  Also every other line entry is a single character or nybble.

Sample preview and selection could be a little simpler.  How about single clicking previews the sample and then double-clicking or pressing OK imports the sample?  Current behavior also loads a sample into RAM restarts the current sequencer frame, which is understandable but breaks fluidity.  The samples could be previewed in a secondary emulator process that starts when the PCM instrument window is opened and then could terminate once it's closed; unless using a dual-chip engine, of course.  

For NES, why not also enable loading of DPCM samples along with PCM samples that go through an alternative routine?  DPCM samples obviously use less CPU and could be played while PCM samples are being played as well.

Also of PCM is being used, multiple tuned and mixed software channels can be achieved.  Your PCM routine at the moment is fairly simple as is, you'd just need to load the tuning tables into RAM, and properly properly mix volume saturation...  For example:  SuperNSF.  I've personally modified a version of it to use MMC5 8-bit PCM.  

Also why not enable 100% volume (F) 50% volume (8 ) 25% volume (4) 12.5% volume (2) and 0% volume (0) to volume the column to all your engines that do PCM channel streams?

Speaking about $4011 for 2a03, you could also have a (D)PCM $4011 7-bit macro table for certain instruments that could be used as a triangle/noise "volume" macro, or additional distortion effects.

Also, I know you were talking about a sample offset command in the past for 9xx, but how come that wasn't introduced?  You could make it EAxx.

Additional requests that wouldn't take much additional code:

Donkey Kong 3 (Arcade) uses two 2a03s to generate music.  I believe this would be possible with VGM export.

Offline Delek

  • Sali para ver
  • Administrator
  • Hero Member
  • Posts: 1810
    • Delek's Website
    • Email
> DefleMask 10 pre-release -FEEDBACK, PLEASE- <
« Reply #149 on: January 13, 2015, 08:58:06 pm »
-I'm getting weird pops in places that sounded perfectly fine in the previous release if I have portamento and vibrato active at the same time. Easy to reproduce by just putting in a note with effects 02 20 and 04 53 on the same line. DMF attached.
It is fixed!, please re-download the pre-release! Thanks for the report.

The UI is feeling a lot better now and the input segregation works nice for subwindows.  I like the vertical command entry a lot better now but still feels odd that we're entering two nybbles at a time rather singular nybbles vertically.  Also every other line entry is a single character or nybble.

Sample preview and selection could be a little simpler.  How about single clicking previews the sample and then double-clicking or pressing OK imports the sample?  Current behavior also loads a sample into RAM restarts the current sequencer frame, which is understandable but breaks fluidity.  The samples could be previewed in a secondary emulator process that starts when the PCM instrument window is opened and then could terminate once it's closed; unless using a dual-chip engine, of course.  

For NES, why not also enable loading of DPCM samples along with PCM samples that go through an alternative routine?  DPCM samples obviously use less CPU and could be played while PCM samples are being played as well.

Also of PCM is being used, multiple tuned and mixed software channels can be achieved.  Your PCM routine at the moment is fairly simple as is, you'd just need to load the tuning tables into RAM, and properly properly mix volume saturation...  For example:  SuperNSF.  I've personally modified a version of it to use MMC5 8-bit PCM.  

Also why not enable 100% volume (F) 50% volume (8 ) 25% volume (4) 12.5% volume (2) and 0% volume (0) to volume the column to all your engines that do PCM channel streams?

Speaking about $4011 for 2a03, you could also have a (D)PCM $4011 7-bit macro table for certain instruments that could be used as a triangle/noise "volume" macro, or additional distortion effects.

Also, I know you were talking about a sample offset command in the past for 9xx, but how come that wasn't introduced?  You could make it EAxx.

Additional requests that wouldn't take much additional code:

Donkey Kong 3 (Arcade) uses two 2a03s to generate music.  I believe this would be possible with VGM export.
Awesome requests B00daW, thanks. All those addons will be implemented however after this incoming release; I don't have enough time by now, I'm pointing atm to fix little bugs and public this version in the next days.
« Last Edit: January 13, 2015, 09:29:45 pm by Delek »