Offline
Psydney, Australia

Is there something similar to the analyzer part of '10 Years of HVSC' music disk?
http://noname.c64.org/csdb/release/?id=44014

(if you wait a little you'll see it pop up briefly in the animgif)

It can be for PC or for C64 (or smartphone or whatever), as long as it can load .sid files.
Closest thing I've found so far is the oscilloscope display of JSIDPlay, but it doesn't come close in terms of functionality

I'd be thankful for any suggestions.

Offline
CHIPTUNE

There are many native C64-players that have similar features, but most of them are a bit picky with what music you give them iirc. One example is JCH's Delux Driver: http://noname.c64.org/csdb/release/?id=21335

Offline
New York City

I never heard of a standalone of this type, but since yu'd have to hardcode the SID inside the routine anyway, that means you need some coding skills, and if you have them, it should be kinda easy to do it.

There was a version of SIDPlay that showed similar info, though. Can't find it in it anymore though. Or maybe it was a different program? Hmm... what I think of was showing you register info. it's not as nicely looking as this, but you basically get the same information.

Offline
Psydney, Australia
goto80 wrote:

There are many native C64-players that have similar features, but most of them are a bit picky with what music you give them iirc. One example is JCH's Delux Driver: http://noname.c64.org/csdb/release/?id=21335

Thing about c64 players is that they usually want .PRG files, correct?
That means I couldn't feed them my HVSC and learn from the pretty registerizer.

Offline
CHIPTUNE

Ah, okay. There are some players for .SID-files too. I don't know much about them.
Can't test atm, but perhaps this? http://csdb.dk/release/?id=101736

Offline
New York City

I remembereed now.
SIDPlay for OSX shows register info:



The sourcecode is available so maybe you can figure out that part to put it back in sidplay for Windows.

Last edited by akira^8GB (May 3, 2012 12:14 pm)

Offline

Was intrigued to find out how this is done so here's a little bit of code.  I'm not sure you'll get perfect playback (due to the slight adsr changes when setting registers in a different order) but it at least gives you the data for single vblank songs.

sei
; init your song driver wherever it is, usually $1000
jsr $1000 

loop

; wait for raster
raster
lda $d012
cmp #$fe
bne raster

; set $d000 area to ram so sid data can be read

lda #$34
sta $01

; call a vblank of your song. (usually $1003)

jsr $1003

; grab the registers and store them somewhere, in this case $9000
; and bung them on screen so we can see the raw data.

ldy #$00
registers
lda $d400,y
sta $9000,y
sta $0400,y
iny
cpy #$20
bne registers

; set sid back to usual so we can write to it.

lda #$35
sta $01

; write registers back to the sid chip, doing that backwards seems to give more accurate playback.

ldy #$1f
registers2
lda $9000,y
sta $d400,y
dey
bpl registers2

jmp loop
Offline
Psydney, Australia

Cheers, 4mat.
Sadly, last time I looked into assembler it was in like 94. Will figure something out.