| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
DE00-DFFF
I read just about everything I could find about this memory area, but I remembered something, perhaps from a chat on IRC or something..
This mem area contains the program-counter, the last accessed line nr, cycle-counter, well - just about everything the machine does.
Is this true ?
Who knows anything ?
I can dig that any expansions put into the machine must have some input data, so naturally there has to be some important info in this memblock - but which ones exactly ?
I also read that it don't nessecarily behave the same way on every C64.
So ?
Help!!
I am also looking for a way to read the read-only registers of the SID.
My friend Kaze/TST did it once, but that program is lost forever, and he didn't code since 1988 on C64. damn.
The program was running a modified KERNAL, and it enabled us to write the music while playing, out to disk as a D400+ dump - but it was way to slow and the disk just got filled up very fast.
But it worked!
|
|
... 23 posts hidden. Click here to view all posts.... |
| |
Vai
Registered: Mar 2002 Posts: 50 |
The Music rastertime cruncher wasn't supposed to crunch the music data but the amount of rasterlines used by the player.
Yeah, I know ... stupid tool I've made :) |
| |
Clarence
Registered: Mar 2004 Posts: 121 |
Quote: The Music rastertime cruncher wasn't supposed to crunch the music data but the amount of rasterlines used by the player.
Yeah, I know ... stupid tool I've made :)
I like your tool, but It could have been a bit improved. It uses too short dumps, and fe. doesn't detect simple things like if a register has a constant value for hte whole excerpt etc. So I had to do a routine of my own. |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Not that I know how the SID-chip works, but isn't there a chance that some registers only reacts to the actual write, not the value, like for instance reseting something. For example a write to register X causes something special despite the actual value. This would mean that by removing duplicate writes with the same value actually causes error in the playback.
Any comments? |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
You are absolutely right! |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
I should have explained..
if you write something to an OSC and it does something,
after a few lines it may be started again (f.ex multispeed tunes), so all writes in 1 frame has to be grabbed
|
| |
Frantic
Registered: Mar 2003 Posts: 1648 |
Quote: Not that I know how the SID-chip works, but isn't there a chance that some registers only reacts to the actual write, not the value, like for instance reseting something. For example a write to register X causes something special despite the actual value. This would mean that by removing duplicate writes with the same value actually causes error in the playback.
Any comments?
Yes..
As rambones say.. More specifically, the wave counter in the SID-chip may for example be reset using the test bit. Switching it back and forth (1=hold it reset/0=start wave counter again) would reset it, which one could imagine could very well happen in some players during one single "tick" of the player, even if it is a single speed tune. (Especially since the testbit is often used deliberatly in the process of doing "Hard Restart".)
|
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
Just so I get this straight..
Hardrestart is resetting the OSC to start the waveform from point 0, or ?
|
| |
Frantic
Registered: Mar 2003 Posts: 1648 |
Rambones: Well, flipping the testbit back and forth seems to be resetting the counter to 0, yes. Further info can be found here for example:
http://stud1.tuwien.ac.at/~e9426444/sidtech4.html
However.. About "Hardrestart":
I don't know if there is really any clear definition of exactly what hardrestart is supposed to be, since different people seem to use slightly different methods. But the point in all those cases should be to have ADSR to behave in a more consistent way. I'm not sure weather everyone actually use a method that involves the testbit. (If I remember correctly, my experience is that flipping the testbit may also introduce a little click sometimes, but maybe I just wasn't careful when testing it... Maybe there is other Hardrestart methods?)
Hope I didn't lie about anything now.. :)
|
| |
Stirf Account closed
Registered: May 2002 Posts: 26 |
have a nice trick for SID readout... trick the player!how?make $d400 ram while calling to $1003 (play) and stash that somewhere in normal RAM then copy to say "rom" (I mean the normal situation) and use the stashed data to save or manipulate, I believe a lot musicplayers can be tricked this way.I have actually used this long ago so it works. |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
Yes it works, but if f.ex D404 is written 3+ times, with values A,B,A - you only get A after a grab, so the playback will not be correct.
|
Previous - 1 | 2 | 3 | 4 - Next |