Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Composing > Stupid Hardrestart...
2006-07-11 12:55
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Stupid Hardrestart...

A question to all msx-player coders.

Why 99% of all players have a completely worse hardrestart???
I only know a few (not more than 5) which owns a really HARD = good sound-restart.
With every other player it's impossible to create modern/up-to-date instruments.

I think there are some nice editors (with nice interfaces) out there, but the completely outdated hardrestart destroys everything. :(

So, any explanation for this?
 
... 92 posts hidden. Click here to view all posts....
 
2006-07-12 18:09
cadaver

Registered: Feb 2002
Posts: 1160
It's all in the internal logic, for example resid should mimic the real ADSR hardware quite exactly, look in the source code how it uses & sets the internal counters :)

Some frames before next note, the gate is set off. Then on the same frame or slightly after, the ADSR is reset to a fixed value, for example $0F00 or $0000, to make the envelope generator go to 0 controllably. Based on timing and write order (ie. waveform or ADSR first), different feel for the attack & first frame of the next note is reached.

The "sexy" hardrestart seems to happen so that ADSR is always written before waveform, and $0F00 is usually used. So:

T minus 3: ADSR to $0F00, gate off
T minus 2: nothing special, gate is still off
T minus 1: ADSR to instrument values, gate on (waveform reg. value $09 for oscillator reset or $01 for plain gateon)
T minus 0: set waveform & frequency + all other stuff for new note

On the other hand, the oldskool Hubbard method (Commando etc.) writes waveform first:

T minus 2: gate off, ADSR $0000
T minus 1: nothing happens
T minus 0: set waveform, ADSR, frequency etc. for new note.

This produces longer/louder first frame sound, which is not sexy :) But it is less susceptible to timing changes, and works mostly the same way on NTSC too.

There are also other methods of hardrestart, see the documentation of ATMDS, which lists 4 of them (and all of them should be sexy, so the Hubbard HR is not included)
2006-07-12 18:26
JackAsser

Registered: Jun 2002
Posts: 2014
@cadaver: Ahh I see. Interesting. :D
2006-07-12 18:45
Hein

Registered: Apr 2004
Posts: 948
Quote: offtopic:

I and the HVSC use to write Bjerregaard instead of your version with the ring above a, which one's the right one?


I guess Thomas spelled it with hardrestaart.
2006-07-12 18:50
Hein

Registered: Apr 2004
Posts: 948
Quote: To some degree agreed about Hubbard, there are only a very few select tunes (for example Ace II, or IK+) that sound quite "new", and in the end he went to USA and accepted (was forced to accept?) the dreaded NTSC sound :)

But I don't know what the fuck should be changed in for example Last Ninja 3 or Flimbo tunes for them to be accepted in your holy hifi criteria.


A hardrestart? Those later tunes are made in 20cc and MoN player. I tried to achieve that fast tick I heard in Reyn's Flimbo tune(which sounds like a chicken singing tiktok) in the Dutch USA player back then, it was just impossible, I got only a bit close with use of pulse manipulation and a high Decay, if I remember correct. Then again, I'm only speculating on the HR in 20cc and MoN player, so maybe Falco and Charles managed to get the chickensound without HR. Theories. Theories.
2006-07-12 18:58
cadaver

Registered: Feb 2002
Posts: 1160
Ah, I was talking partially shit .. LN3 uses hardrestart for some instruments, but not all (checked with siddump)

Is the chickensound the same short chirp as in the beginning of LN3 subtune 6? That's without HR. Siddump doesn't handle Flimbo yet for some reason, so can't check that :)
2006-07-12 19:09
Hein

Registered: Apr 2004
Posts: 948
Quote: Ah, I was talking partially shit .. LN3 uses hardrestart for some instruments, but not all (checked with siddump)

Is the chickensound the same short chirp as in the beginning of LN3 subtune 6? That's without HR. Siddump doesn't handle Flimbo yet for some reason, so can't check that :)


not that chirp, allthough that ln3 #6 does sound like a chicken too, the last chicken, har har... sigh. Also Deadlock tune 2 has this chirpchirp in the melody. Guess thats also achieved by having pulse first wave, a few frames saw, then back to pulse, adding a bit of delay in the sound.
2006-07-12 19:10
cadaver

Registered: Feb 2002
Posts: 1160
Ah, OK. Btw. at least Flimbo's introtune doesn't use hardrestart, it exists in the driver but isn't used (I put an endless loop JMP in its place and the intro didn't halt)

EDIT: fixed siddump's indirect JMP handling (new version uploaded), patched Flimbos_Quest.sid to not use interrupt playback, and confirmed this.

Btw. Deadlock seems to be all no-HR also.
2006-07-13 07:58
Laxity

Registered: Aug 2005
Posts: 459
Quote: It's all in the internal logic, for example resid should mimic the real ADSR hardware quite exactly, look in the source code how it uses & sets the internal counters :)

Some frames before next note, the gate is set off. Then on the same frame or slightly after, the ADSR is reset to a fixed value, for example $0F00 or $0000, to make the envelope generator go to 0 controllably. Based on timing and write order (ie. waveform or ADSR first), different feel for the attack & first frame of the next note is reached.

The "sexy" hardrestart seems to happen so that ADSR is always written before waveform, and $0F00 is usually used. So:

T minus 3: ADSR to $0F00, gate off
T minus 2: nothing special, gate is still off
T minus 1: ADSR to instrument values, gate on (waveform reg. value $09 for oscillator reset or $01 for plain gateon)
T minus 0: set waveform & frequency + all other stuff for new note

On the other hand, the oldskool Hubbard method (Commando etc.) writes waveform first:

T minus 2: gate off, ADSR $0000
T minus 1: nothing happens
T minus 0: set waveform, ADSR, frequency etc. for new note.

This produces longer/louder first frame sound, which is not sexy :) But it is less susceptible to timing changes, and works mostly the same way on NTSC too.

There are also other methods of hardrestart, see the documentation of ATMDS, which lists 4 of them (and all of them should be sexy, so the Hubbard HR is not included)


Could you explain the other 3 methods, Lasse?.. I'd be might interested in knowing how those are, and if they have different characteristics?

HR test: Bjerregård, Bjerregård, Bjerregård... ;)

And now without: Bjerregaard .. And with osc. reset and no HR: Bjarnegaard!.. Osc reset AND HR: Bjarnegård.. 'Sigh'

2006-07-13 09:09
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Have you looked at ATDMS? Acid Track Music Development System V3.2

If I remember, it has 4 configurable hardrestart options, and the docs even explain how each is done. Btw. care to list those 5 good players, so that musicroutine coders can take heed?

And yeah, imagine something like the Rasputin tune with modern HR, it wouldn't sound near dirty enough for the subject matter it was used for unofficially :)


@cadaver:

ATMDS has a quite nice hardrestart. :)
Unfortunately it's system is based on DUR.

---

Maybe it's worth to consider why there aren't any SIMPLE trackers (SDI, JCH...is already too complex) that offers a good hardrestart.
'John Player' is disqualified since it is extremely limited.
2006-07-13 09:16
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: To some degree agreed about Hubbard, there are only a very few select tunes (for example Ace II, or IK+) that sound quite "new", and in the end he went to USA and accepted (was forced to accept?) the dreaded NTSC sound :)

But I don't know what the fuck should be changed in for example Last Ninja 3 or Flimbo tunes for them to be accepted in your holy hifi criteria.


Na, LN3 is really ok, but the most others.... :-I
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Razdee
4gentE/ΤRIΛD
MWR/Visdom
Jope/Extend
encore
master_hacker
gorans
Bob/Censor Design
Hein
REBEL 1/HF
Guests online: 102
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 The Demo Coder  (9.6)
7 What Is The Matrix 2  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Party Elk 2  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Libertongo  (9.5)
6 Rainbow Connection  (9.5)
7 Onscreen 5k  (9.5)
8 Morph  (9.5)
9 Dawnfall V1.1  (9.5)
10 It's More Fun to Com..  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Nostalgia  (9.3)
5 Triad  (9.2)
Top Coders
1 Axis  (9.8)
2 Graham  (9.8)
3 Crossbow  (9.8)
4 Lft  (9.8)
5 HCL  (9.8)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.068 sec.