Previous Page | Next Page

NEZplug++ 0.9.4.8 + 2 + 20.10 finally better N106 emulation? by tails_ at 6:20 PM EST on January 10, 2011
Discuss :O

uh some 7nd famicompo still sounds ugly =_=

edited 7:26 PM EST January 10, 2011
by SmartOne at 11:05 PM EST on January 22, 2011
Wouldn't it be cool if there were an SNES emulator that "just worked" in terms of accurate sound? Emulators should work like Kega Fusion. Load your game, enable VSync, and you're ready to go. None of this Input Sample Rate nonsense. The crackling in bsnes and snes9x is really annoying. There's no way to get 100% smooth audio.

Fusion does... what NintenDON'T. (And its public emulators.)

I understand the trade off for traditional VSync is an extra frame once in a while, but that's much less noticeable than guaranteed crackling. The average user won't care enough to mess with a setting as complicated as the Input Frequency, anyway.

Plus, adjusting the Input Frequency affects the pitch! What a bad idea. BAD.

edited 11:26 PM EST January 22, 2011
by hcs at 4:54 AM EST on January 31, 2011
Did the Global Game Jam this weekend. Our team made Extraction with Flixel. It's a Metroidvania-style get-powerup-and-backtrack action platformer.

edited 6:28 PM EST January 31, 2011
by Elven Spellmaker at 9:21 AM EST on January 31, 2011
Snes9x has crackling? O.o

I've never noticed it, maybe I'm just focusing too much on playing the game rather than the music? Hmm...
by SmartOne at 2:22 PM EST on January 31, 2011
I think SNESGT is what I'm looking for:

http://gigo.retrogames.com/bbs/c-board.cgi?cmd=one;no=2205;id=

Even supports Kega Fusion video filter plugins.
by hcs at 6:45 AM EST on February 8, 2011
When I started vgmstream, I wanted each channel decode to write PCM to its own buffer (part of a large contiguous buffer), and then to interleave these in-place. I couldn't come up with a general way of doing in-place interleave at the time, though I spent days agonizing over it.

The basic idea is to take an array like:
0 1 2 3 4 5 6 7
and put all the evens at the front and odds at the end, in the same order:
0 2 4 6 1 3 5 7

It'd be nice to do this with more than two parts, but I consider that case here.

Tonight, as I lay me down to sleep, a solution to the problem popped into my mind. It is about as good a solution as bubble sort is for sorting, but it does work: first pass

The idea is to deinterleave by shifting each even entry over the odd entries between it and its proper place, so:
0 1 2 3 4 5 6 7
0 2 1 3 4 5 6 7
0 2 1 4 3 5 6 7
0 2 4 1 3 5 6 7
0 2 4 1 3 6 5 7
0 2 4 1 6 3 5 7
0 2 4 6 1 3 5 7

and interleave is just the reverse operation.

The above first pass shifts one space at a time. I next used memmove to move all the intervening odds: memmove version.

This was several times faster, but the essential problem is still there: on each iteration you need to shift more and more odds as you move the evens.

After trying a few other ideas, I hit on this. If we deinterleave each half of the array, we then only need to swap the two middle fourths and the whole thing is deinterleaved:

0 1 2 3 4 5 6 7
[0 2 1 3] [4 6 5 7]
0 2 4 6 1 3 5 7

And as long as the size is a multiple of 4, we can keep drilling down like this, only doing a full deinterleave_mm when we don't have a good size.

This was the first big speed improvement. deinterleave_mm and interleave_mm take 22.8 seconds on a 400,000 entry array; deinterleave_mm_split and interleave_mm_split do the same in 0.34 seconds.

This reminded me of Quicksort for its divide-and-conquer approach, so I took it a step further. This is the best I have now.

This attempts to boil everything down to an array of 4, which can be deinterleaved (or interleaved) by swapping the middle two elements. If it is larger and divisible by 4, we deinterleave each half, then swap the middle fourths. If it is not divisible by four, we deinterleave all but the last 2 elements, and then shift half the array to put the last element of the first half in place:

0 1 2 3 4 5 6 7 8 9
[0 1 2 3 4 5 6 7] 8 9
0 2 4 6 1 3 5 7 8 9
0 2 4 6 8 1 3 5 7 9

This is much faster. It will handle deinterleaving and interleaving a 100,000,000 element array in 4.9 seconds, mm_split took 4.4 seconds to do just 1,000,000.
Compared to using a second buffer it is still not that great, that handles 100,000,000 elements in 0.85 seconds. But it's fairly close, and this method uses far less memory. And I can finally rest easy!
by Lunar at 6:42 PM EST on February 11, 2011
anyone up for an hour FM slap bass, featuring a bunch of oldskool adlib and pro game composers? SOUNDSHOCK: FM FUNK MADDNESS is out:

http://ubiktune.org/releases/ubi020/

includes: Shogun, Blitz Lunar, Kulor, Keishi Yonao, Torben "Metal" Hansen, Bomb Boy, Virt, hally, Seiko Kobuchi, Tsuyoshi Shimokura, Madbrain, Utabi Hirokawa, Takeharu "hizmi" Ishimoto, Simon Stålenhag, zinger, bacter, Dong, Louis G, zabutom and hex125
by Knurek at 6:54 PM EST on February 11, 2011
I think I just came.
by hcs at 7:05 PM EST on February 11, 2011
nice!
by hcs at 4:37 AM EST on February 12, 2011
Just spent a few hours playing Lexico. The design is relevant to some of my interests: you have to decipher alien symbols to figure out how to operate machines and move through a factory. It was made in a week, so it has lots of bugs and some awful design decisions, but I'm glad I played it. I've thought of doing something similar and this gives me stuff to avoid.

The hints were pretty much essential to me figuring out what was supposed to be going on in some areas, but even with them some parts were very tricky. And one part that I thought was going to be really hard turned out to be much simpler than I'd prepared for.

[edit]
That came off a little more harshly than I intended, it's a cool little game and definitely gets a thumbs up, I just wish they'd had another month to spend testing.

edited 4:42 AM EST February 12, 2011

Previous Page | Next Page
Go to Page 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source