Autor Tema: SID6581 (sintetizador de audio del Commodore 64)  (Leído 72007 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
SID6581 (sintetizador de audio del Commodore 64)
« en: 18 de Mayo de 2008, 07:23:37 »
Voy a ir recopilando aquí la información sobre este chip:

* Resumen realizado por aitopes: http://www.ucontrol.com.ar/wiki/index.php?title=SID6581
* Extensísima colección de archivos SID (>30.000): http://www.hvsc.c64.org/
* Emulador SID en java (no perderse la interpretación de la historia interminable): http://www.dreamfabric.com/c64/jsidplay/
* Interfaz para el SID por puerto paralelo: http://www.asciilifeform.com/parallelsid/parasid.html
* Emulador de SID con un ATMEL (si no tienes un SID, te lo puedes crear con un ATMEL): http://www.swinkels.tvtom.pl/swinsid/swinsid2.htm
* Reproductor de archivos SID a través de un SID original (no emulado) mediante un ATMEL: http://www.swinkels.tvtom.pl/swinsid/
* Sintetizador MIDI basado en un SID y controlador por un PIC (no perderse los ejemplos de audio que incluye la página): http://www.hypersynth.com/hypersid.html
* Los esquemáticos del C64 en Eagle: http://www.baltissen.org/newhtm/schemas.htm
* Información sobre cómo reparar un c64: http://personalpages.tds.net/~rcarlsen/cbm.html
* Un reproductor portátil de SID basado en un PIC16f877 (sin esquema ni código): http://tripoint.org/kevtris/Projects/sid/sidman.html

El mayor problema que le veo a este asunto es que los archivos PSID contienen, además de la música, el propio programa reproductor, de modo que es necesario emular el funcionamiento completo del 6502 de los Commodore 64 para poder reproducirlos. Esto supera mis posibilidades como programador de PICs, así que estoy estudiando la posibilidad de aplicar algún rodeo...

« Última modificación: 27 de Junio de 2008, 14:59:55 por jfmateos2 »

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: SID6581 (sintetizador de audio del Commodore 64)
« Respuesta #1 en: 18 de Mayo de 2008, 12:59:12 »
Escribí a swinkels, el creador de SwinSID (http://www.swinkels.tvtom.pl/swinsid/) para que me orientase (más bien para que confirmase mis sospechas) sobre cómo realizar la interfaz entre un PIC y un SID, y ésta ha sido su respuesta:

Citar
Hi
it is very easy to connect SID to PIC or AVR and play music with it. You
need to write own player to play custom songs.
If you  want to play SID  music  from PSID files you have to implement
full 6502 emulation because SID files are actually a 6502 programm which
manipulates SID registers.
Good luck.

En resumen, es fácil conectar un PIC a un SID pero tendrás que crearte tu propia música, no podrás usar los miles de archivos PSID existentes.

¿Qué se me da peor, programar o componer música?

Habrá que empollarse las especificaciones del formato PSID y ver si podría emularse con un PIC.

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: SID6581 (sintetizador de audio del Commodore 64)
« Respuesta #2 en: 19 de Mayo de 2008, 15:42:58 »
interesante tema, voy a leer los links que has colocado. gracias.
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: SID6581 (sintetizador de audio del Commodore 64)
« Respuesta #3 en: 19 de Mayo de 2008, 15:56:24 »
Hola juanfe!

Quizas (es solo una presunción) no sea TAN dificil editar (usando algun programa que habria que construir) todo lo referente al programa para que solo queden los datos de la musica. Llevo algunas semanas pensando en ello, y estoy medio atorado de cosas, pero creo que es posible.

Por lo pronto, habia pensado en el siguiente esquema para "manejar" al SID:




No he diseñado el PSB aun. Quizas estaria bueno que me lo criticasen un poco para hacer un PCB de la version mejorada del esquema que propongo :)

Saludos!
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: SID6581 (sintetizador de audio del Commodore 64)
« Respuesta #4 en: 19 de Mayo de 2008, 19:46:06 »
Me gustaría ser tan optimista como tú aitopes, pero cuanto más estudio el asunto más complejo me parece convertir los archivos PSID a un formato utilizable desde el PIC.

Lo primero que intentaré es utilizar algo parecido a esto (http://www.asciilifeform.com/parallelsid/parasid.html) e intentar grabar la actividad en el puerto paralelo (http://www.beyondlogic.org/porttalk/porttalk.htm) para reproducirla con el PIC, pero me temo que generará un torrente de información ingente.

Muy buena idea la del 74ls90


Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: SID6581 (sintetizador de audio del Commodore 64)
« Respuesta #5 en: 19 de Mayo de 2008, 19:51:44 »
Ya tengo medio arreglado el tema de la web, asi que es posible que durante la semana disponga de unas cuantas "horas-culo" para dedicarle a esto. (horas-culo son horas sentado frente al ordenador :) )

Voy a intentar "despanzurrar" un archivo y ver que me encuentro dentro. Mantengamonos en contacto por aqui  :mrgreen:
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: SID6581 (sintetizador de audio del Commodore 64)
« Respuesta #6 en: 19 de Mayo de 2008, 22:52:00 »
Ya tengo medio arreglado el tema de la web, asi que es posible que durante la semana disponga de unas cuantas "horas-culo" para dedicarle a esto. (horas-culo son horas sentado frente al ordenador :) )

Muy buena definición de las horas sentado frente al ordenador  :D :D :D :D

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: SID6581 (sintetizador de audio del Commodore 64)
« Respuesta #7 en: 19 de Mayo de 2008, 23:22:29 »
Hola Juanfe!
Ya estoy en  la cama, y debo dejar el ordenador por que si no me van a echar de casa (encima, estoy estrenando cama :) ). Pero antes de apagar, queria dejarte este link:

http://search.cpan.org/src/LALA/Audio-SID-3.11/SID_file_format.txt

No pude verlo en profundidad, pero si es lo que yo creo, es la clave para crear un programa en Visual Basic o similar para que separe "la paja del trigo", o los datos del codigo contenido en los miles de ficheros con este formato que hay por alli.

Manana le voy a dar un buen vistazo.

Buenas noches!  :-)

Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18269
    • MicroPIC
Re: SID6581 (sintetizador de audio del Commodore 64)
« Respuesta #8 en: 20 de Mayo de 2008, 04:20:07 »
¿Estrenar cama en Argentina significa lo mismo que en España?  :D

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: SID6581 (sintetizador de audio del Commodore 64)
« Respuesta #9 en: 20 de Mayo de 2008, 05:17:34 »
Espero que te haya aprovechado la cama aitopes  :-/

Yo de la mía ya casi ni me acuerdo y referente a lo de horas-culo ¿es que hay otro tipo de horas? Como siga así voy a tener que estrenar silla  :mrgreen:

Ese documento ya lo había visto pero sólo describe las cabeceras de los archivos PSID, es decir, lo que leen los reproductores para saber qué se van a encontrar dentro, pero no describe el código en sí del SID.

La especificación completa del SID debe estar descrita en el documento que se menciona al principio (http://www.geocities.com/SiliconValley/Lakes/5147/sidplay/doc_formats.html
), pero no soy capaz de encontrarlo en ningún sitio.

Otro documento interesante: http://sid.kubarth.com/articles/the_c64_digi.txt
« Última modificación: 20 de Mayo de 2008, 05:33:22 por jfmateos2 »

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: SID6581 (sintetizador de audio del Commodore 64)
« Respuesta #10 en: 20 de Mayo de 2008, 06:01:38 »
¿EUREKA?
http://www.ucapps.de/howto_sid_wavetables_1.html
SIDDUMP & SIDDASM: http://covertbitops.c64.org/ El siddasm no he conseguido hacerlo funcionar

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: SID6581 (sintetizador de audio del Commodore 64)
« Respuesta #11 en: 20 de Mayo de 2008, 07:43:34 »
Hola Juanfe!

El SIDDASM para DOS funciona. Con algunos .SID falla (no se todavia con cuales), pero con los demas genera un archivo .CAT que dentro tiene un programa en ASM de Commodore (pensar que en alguna vida anterior yo escribia codigo asi! :) ) como este:

Código: [Seleccionar]
0FFA: AA       :TAX
0FFB: E8       :INX
0FFC: 8E 01 10 :STX $1001
0FFF: 60       :RTS
----------
1000: A9 01    :LDA #$01
1002: A2 00    :LDX #$00
1004: 0A       :ASL A
1005: F0 44    :BEQ $44
1007: 6D 01 10 :ADC $1001
100A: A8       :TAY
100B: B9 D5 14 :LDA $14D5,Y
100E: 9D 2A 14 :STA $142A,X
1011: B9 D8 14 :LDA $14D8,Y
1014: 9D 2B 14 :STA $142B,X
1017: C8       :INY
1018: A9 00    :LDA #$00
101A: 9D 1B 14 :STA $141B,X
101D: 9D 1A 14 :STA $141A,X
1020: A9 05    :LDA #$05
1022: 9D 2E 14 :STA $142E,X
1025: 9D 2F 14 :STA $142F,X
1028: 9D 01 14 :STA $1401,X
102B: A9 08    :LDA #$08
102D: 9D 15 14 :STA $1415,X
1030: 9D 04 D4 :STA $D404,X
1033: A9 FF    :LDA #$FF
1035: 9D 2C 14 :STA $142C,X
1038: BD 30 14 :LDA $1430,X
103B: AA       :TAX
103C: D0 CD    :BNE $CD
103E: 8D 15 D4 :STA $D415
1041: 8D 56 10 :STA $1056
1044: 8D 4E 10 :STA $104E
1047: 8D 01 10 :STA $1001
104A: 60       :RTS

Al final del archivo hay una zona de datos, que deben ser los que lee el programa de arriba para "meterle" al SID.

Sigo buscando info sobre la estructura interna de esa tabla de datos...
Si la encontramos, podriamos escribir un software para que a partir del SID extraiga los datos que meteriamos en la EEPROM y que el PIC le enviaria al SID... 8)
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: SID6581 (sintetizador de audio del Commodore 64)
« Respuesta #12 en: 20 de Mayo de 2008, 08:01:46 »
Joder qué recuerdos. No te lo vas a creer pero se me ha escapado una lagrimita al ver ese código.

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: SID6581 (sintetizador de audio del Commodore 64)
« Respuesta #13 en: 20 de Mayo de 2008, 08:02:54 »
Por si ayuda en algo, he "desensamblado" el archivo de 2.6Kb "ALA.SID" y he obtenido esto: (va en dos partes)

ALA.CAS:
Código: [Seleccionar]
#ASM source for file ala.sid
#Init addr: $6000, Play addr: $6006
#Load addr: $6000, End addr: $69D2, Length: 2515 bytes
#----------------------------------------------------------------
6000: 4C 8A 65 :JMP $658A
-------
6003: 4C E9 65
-------
6006: A9 0F    :LDA #$0F
6008: 8D 18 D4 :STA $D418
600B: A9 00    :LDA #$00
600D: 8D 17 D4 :STA $D417
6010: AD 33 67 :LDA $6733
6013: D0 01    :BNE $01
6015: 60       :RTS
6016: A2 02    :LDX #$02
6018: BD 61 66 :LDA $6661,X
601B: 8D 6E 66 :STA $666E
601E: A8       :TAY
601F: DE 28 67 :DEC $6728,X
6022: BD 28 67 :LDA $6728,X
6025: 30 03    :BMI $03
6027: 4C 6D 62 :JMP $626D
602A: A9 04    :LDA #$04
602C: 9D 28 67 :STA $6728,X
602F: BD 61 66 :LDA $6661,X
6032: 8D 6E 66 :STA $666E
6035: A8       :TAY
6036: DE 5B 66 :DEC $665B,X
6039: 10 03    :BPL $03
603B: 4C 98 60 :JMP $6098
603E: 4C 6D 62 :JMP $626D
6041: 48       :PHA
6042: 8A       :TXA
6043: 48       :PHA
6044: 98       :TYA
6045: 48       :PHA
6046: BC 61 66 :LDY $6661,X
6049: A9 00    :LDA #$00
604B: 99 04 D4 :STA $D404,Y
604E: 9D 37 66 :STA $6637,X
6051: 9D 07 66 :STA $6607,X
6054: 9D F8 65 :STA $65F8,X
6057: 9D 68 66 :STA $6668,X
605A: 9D 6B 66 :STA $666B,X
605D: BD 43 66 :LDA $6643,X
6060: 9D 40 66 :STA $6640,X
6063: A9 01    :LDA #$01
6065: 9D 65 66 :STA $6665,X
6068: A9 02    :LDA #$02
606A: 9D F5 65 :STA $65F5,X
606D: BD 01 66 :LDA $6601,X
6070: 9D FE 65 :STA $65FE,X
6073: E0 00    :CPX #$00
6075: D0 0B    :BNE $0B
6077: A9 00    :LDA #$00
6079: 8D 23 67 :STA $6723
607C: AD 25 67 :LDA $6725
607F: 8D 24 67 :STA $6724
6082: BD F2 65 :LDA $65F2,X
6085: A8       :TAY
6086: B9 CF 66 :LDA $66CF,Y
6089: 9D 2B 66 :STA $662B,X
608C: B9 D6 66 :LDA $66D6,Y
608F: 9D 2E 66 :STA $662E,X
6092: 68       :PLA
6093: A8       :TAY
6094: 68       :PLA
6095: AA       :TAX
6096: 68       :PLA
6097: 60       :RTS
6098: A9 00    :LDA #$00
609A: 9D 4C 66 :STA $664C,X
609D: BD 37 67 :LDA $6737,X
60A0: 85 A7    :STA $A7
60A2: BD 3A 67 :LDA $673A,X
60A5: 85 A8    :STA $A8
60A7: BC 71 66 :LDY $6671,X
60AA: B1 A7    :LDA ($A7),Y
60AC: C9 FF    :CMP #$FF
60AE: D0 08    :BNE $08
60B0: A9 00    :LDA #$00
60B2: 9D 71 66 :STA $6671,X
60B5: 4C A7 60 :JMP $60A7
60B8: C9 FE    :CMP #$FE
60BA: D0 0F    :BNE $0F
60BC: A9 00    :LDA #$00
60BE: 8D 33 67 :STA $6733
60C1: 8D 04 D4 :STA $D404
60C4: 8D 0B D4 :STA $D40B
60C7: 8D 12 D4 :STA $D412
60CA: 60       :RTS
60CB: C9 FD    :CMP #$FD
60CD: D0 0F    :BNE $0F
60CF: FE 71 66 :INC $6671,X
60D2: C8       :INY
60D3: B1 A7    :LDA ($A7),Y
60D5: 8D 07 60 :STA $6007
60D8: FE 71 66 :INC $6671,X
60DB: 4C A7 60 :JMP $60A7
60DE: C9 FC    :CMP #$FC
60E0: D0 03    :BNE $03
60E2: 4C 2A 62 :JMP $622A
60E5: A8       :TAY
60E6: B9 49 67 :LDA $6749,Y
60E9: 85 A9    :STA $A9
60EB: B9 5D 67 :LDA $675D,Y
60EE: 85 AA    :STA $AA
60F0: BC 74 66 :LDY $6674,X
60F3: B1 A9    :LDA ($A9),Y
60F5: 8D 77 66 :STA $6677
60F8: C9 FF    :CMP #$FF
60FA: D0 03    :BNE $03
60FC: 4C 1F 62 :JMP $621F
60FF: C9 FE    :CMP #$FE
6101: D0 03    :BNE $03
6103: 4C 84 61 :JMP $6184
6106: C9 FD    :CMP #$FD
6108: D0 03    :BNE $03
610A: 4C 39 62 :JMP $6239
610D: C9 FC    :CMP #$FC
610F: D0 22    :BNE $22
6111: C8       :INY
6112: B1 A9    :LDA ($A9),Y
6114: 9D 5B 66 :STA $665B,X
6117: A9 00    :LDA #$00
6119: 9D 65 66 :STA $6665,X
611C: 84 AA    :STY $AA
611E: BC 61 66 :LDY $6661,X
6121: BD 1C 66 :LDA $661C,X
6124: 29 FE    :AND #$FE
6126: 99 04 D4 :STA $D404,Y
6129: A4 AA    :LDY $AA
612B: C8       :INY
612C: 98       :TYA
612D: 9D 74 66 :STA $6674,X
6130: 4C 6D 62 :JMP $626D
6133: 10 17    :BPL $17
6135: 29 7F    :AND #$7F
6137: 48       :PHA
6138: A9 00    :LDA #$00
613A: 9D F8 65 :STA $65F8,X
613D: A9 02    :LDA #$02
613F: 9D F5 65 :STA $65F5,X
6142: BD 01 66 :LDA $6601,X
6145: 9D FE 65 :STA $65FE,X
6148: 68       :PLA
6149: 4C 4F 61 :JMP $614F
614C: 20 41 60 :JSR $6041
614F: 9D 5B 66 :STA $665B,X
6152: FE 74 66 :INC $6674,X
6155: C8       :INY
6156: B1 A9    :LDA ($A9),Y
6158: 18       :CLC
6159: 6D 64 66 :ADC $6664
615C: 9D 5E 66 :STA $665E,X
615F: A8       :TAY
6160: B9 C2 64 :LDA $64C2,Y
6163: 9D 46 66 :STA $6646,X
6166: B9 22 65 :LDA $6522,Y
6169: 9D 49 66 :STA $6649,X
616C: 9D 34 67 :STA $6734,X
616F: FE 74 66 :INC $6674,X
6172: 4C 6D 62 :JMP $626D
6175: 29 7F    :AND #$7F
6177: 18       :CLC
6178: 6D 64 66 :ADC $6664
617B: 9D 5E 66 :STA $665E,X
617E: 4C 4F 61 :JMP $614F
6181: 4C 6D 62 :JMP $626D
6184: FE 74 66 :INC $6674,X
6187: C8       :INY
6188: B1 A9    :LDA ($A9),Y
618A: 9D F2 65 :STA $65F2,X
618D: A8       :TAY
618E: B9 90 66 :LDA $6690,Y
6191: 9D 25 66 :STA $6625,X
6194: B9 97 66 :LDA $6697,Y
6197: 9D 28 66 :STA $6628,X
619A: B9 BA 66 :LDA $66BA,Y
619D: 9D 1C 66 :STA $661C,X
61A0: C9 41    :CMP #$41
61A2: D0 12    :BNE $12
61A4: B9 CF 66 :LDA $66CF,Y
61A7: 9D 2B 66 :STA $662B,X
61AA: B9 D6 66 :LDA $66D6,Y
61AD: 9D 2E 66 :STA $662E,X
61B0: B9 DD 66 :LDA $66DD,Y
61B3: 9D 31 66 :STA $6631,X
61B6: B9 07 67 :LDA $6707,Y
61B9: 9D 0A 66 :STA $660A,X
61BC: F0 17    :BEQ $17
61BE: A9 00    :LDA #$00
61C0: 9D 07 66 :STA $6607,X
61C3: B9 0E 67 :LDA $670E,Y
61C6: 9D 10 66 :STA $6610,X
61C9: B9 15 67 :LDA $6715,Y
61CC: 9D 13 66 :STA $6613,X
61CF: B9 1C 67 :LDA $671C,Y
61D2: 9D 16 66 :STA $6616,X
61D5: B9 B3 66 :LDA $66B3,Y
61D8: 9D 19 66 :STA $6619,X
61DB: F0 0C    :BEQ $0C
61DD: B9 C1 66 :LDA $66C1,Y
61E0: 9D 1F 66 :STA $661F,X
61E3: B9 C8 66 :LDA $66C8,Y
61E6: 9D 22 66 :STA $6622,X
61E9: B9 F2 66 :LDA $66F2,Y
61EC: 9D 34 66 :STA $6634,X
61EF: F0 09    :BEQ $09
61F1: B9 F9 66 :LDA $66F9,Y
61F4: 9D 3A 66 :STA $663A,X
61F7: 9D 3D 66 :STA $663D,X
61FA: B9 E4 66 :LDA $66E4,Y
61FD: 9D FB 65 :STA $65FB,X
6200: F0 17    :BEQ $17
6202: B9 EB 66 :LDA $66EB,Y
6205: 9D FE 65 :STA $65FE,X
6208: 9D 01 66 :STA $6601,X
620B: A9 00    :LDA #$00
620D: 9D F8 65 :STA $65F8,X
6210: B9 00 67 :LDA $6700,Y
6213: 9D 40 66 :STA $6640,X
6216: 9D 43 66 :STA $6643,X
6219: FE 74 66 :INC $6674,X
621C: 4C F0 60 :JMP $60F0
621F: A9 00    :LDA #$00
6221: 9D 74 66 :STA $6674,X
6224: FE 71 66 :INC $6671,X
6227: 4C A7 60 :JMP $60A7
622A: C8       :INY
622B: FE 71 66 :INC $6671,X
622E: B1 A7    :LDA ($A7),Y
6230: 8D 64 66 :STA $6664
6233: FE 71 66 :INC $6671,X
6236: 4C A7 60 :JMP $60A7
6239: C8       :INY
623A: B1 A9    :LDA ($A9),Y
623C: 10 22    :BPL $22
623E: 29 7F    :AND #$7F
6240: 9D 58 66 :STA $6658,X
6243: A9 38    :LDA #$38
6245: 9D 4F 66 :STA $664F,X
6248: A9 FD    :LDA #$FD
624A: 9D 52 66 :STA $6652,X
624D: C8       :INY
624E: B1 A9    :LDA ($A9),Y
6250: 9D 55 66 :STA $6655,X
6253: C8       :INY
6254: 98       :TYA
6255: 9D 74 66 :STA $6674,X
6258: A9 01    :LDA #$01
625A: 9D 4C 66 :STA $664C,X
625D: 4C F0 60 :JMP $60F0
6260: 9D 58 66 :STA $6658,X
6263: A9 18    :LDA #$18
6265: 9D 4F 66 :STA $664F,X
6268: A9 7D    :LDA #$7D
626A: 4C 4A 62 :JMP $624A
626D: AC 6E 66 :LDY $666E
6270: BD 16 66 :LDA $6616,X
6273: F0 06    :BEQ $06
6275: DE 16 66 :DEC $6616,X
6278: 4C E8 62 :JMP $62E8
627B: BC F2 65 :LDY $65F2,X
627E: B9 1C 67 :LDA $671C,Y
6281: 9D 16 66 :STA $6616,X
6284: BC 61 66 :LDY $6661,X
6287: BD 0A 66 :LDA $660A,X
628A: D0 03    :BNE $03
628C: 4C CF 62 :JMP $62CF
628F: BD 07 66 :LDA $6607,X
6292: C9 02    :CMP #$02
6294: D0 0B    :BNE $0B
6296: A9 01    :LDA #$01
6298: 9D 07 66 :STA $6607,X
629B: BD 10 66 :LDA $6610,X
629E: 4C B8 62 :JMP $62B8
62A1: C9 01    :CMP #$01
62A3: D0 0B    :BNE $0B
62A5: A9 00    :LDA #$00
62A7: 9D 07 66 :STA $6607,X
62AA: BD 13 66 :LDA $6613,X
62AD: 4C B8 62 :JMP $62B8
62B0: BD 0A 66 :LDA $660A,X
62B3: 9D 07 66 :STA $6607,X
62B6: A9 00    :LDA #$00
62B8: 9D 0D 66 :STA $660D,X
62BB: BD 5E 66 :LDA $665E,X
62BE: 18       :CLC
62BF: 7D 0D 66 :ADC $660D,X
62C2: A8       :TAY
62C3: B9 C2 64 :LDA $64C2,Y
62C6: 9D 46 66 :STA $6646,X
62C9: B9 22 65 :LDA $6522,Y
62CC: 9D 49 66 :STA $6649,X
62CF: BD 19 66 :LDA $6619,X
62D2: D0 03    :BNE $03
62D4: 4C E8 62 :JMP $62E8
62D7: BD 1F 66 :LDA $661F,X
62DA: 48       :PHA
62DB: BD 22 66 :LDA $6622,X
62DE: 9D 1F 66 :STA $661F,X
62E1: 68       :PLA
62E2: 9D 22 66 :STA $6622,X
62E5: 9D 1C 66 :STA $661C,X
62E8: BC F2 65 :LDY $65F2,X
62EB: BD 68 66 :LDA $6668,X
62EE: D9 82 66 :CMP $6682,Y
62F1: F0 09    :BEQ $09
62F3: FE 68 66 :INC $6668,X
62F6: B9 89 66 :LDA $6689,Y
62F9: 4C FF 62 :JMP $62FF
62FC: BD 25 66 :LDA $6625,X
62FF: BC 61 66 :LDY $6661,X
6302: 99 05 D4 :STA $D405,Y
6305: BD 28 66 :LDA $6628,X
6308: 99 06 D4 :STA $D406,Y
630B: BD 6B 66 :LDA $666B,X
630E: BC F2 65 :LDY $65F2,X
6311: D9 9E 66 :CMP $669E,Y
6314: D0 03    :BNE $03
6316: 4C 37 63 :JMP $6337
6319: BD 5E 66 :LDA $665E,X
631C: 18       :CLC
631D: 79 AC 66 :ADC $66AC,Y
6320: A8       :TAY
6321: B9 C2 64 :LDA $64C2,Y
6324: 48       :PHA
6325: B9 22 65 :LDA $6522,Y
6328: 48       :PHA
6329: BC 61 66 :LDY $6661,X
632C: 68       :PLA
632D: 99 01 D4 :STA $D401,Y
6330: 68       :PLA
6331: 99 00 D4 :STA $D400,Y
6334: 4C 98 63 :JMP $6398
6337: BC 61 66 :LDY $6661,X
633A: BD 4C 66 :LDA $664C,X
633D: F0 12    :BEQ $12
633F: BD 4F 66 :LDA $664F,X
6342: 8D 82 63 :STA $6382
6345: BD 52 66 :LDA $6652,X
6348: 8D 83 63 :STA $6383
634B: 8D 8F 63 :STA $638F
634E: 4C 7F 63 :JMP $637F
6351: BD 46 66 :LDA $6646,X
6354: 99 00 D4 :STA $D400,Y
6357: BD 49 66 :LDA $6649,X
635A: 38       :SEC
635B: FD 37 66 :SBC $6637,X
635E: 99 01 D4 :STA $D401,Y
6361: BD 34 66 :LDA $6634,X
6364: F0 32    :BEQ $32
6366: DE 3A 66 :DEC $663A,X
6369: 10 2D    :BPL $2D
636B: BD 3D 66 :LDA $663D,X
636E: 9D 3A 66 :STA $663A,X
6371: BD 37 66 :LDA $6637,X
6374: DD 34 67 :CMP $6734,X
6377: 10 1F    :BPL $1F
6379: FE 37 66 :INC $6637,X
637C: 4C 98 63 :JMP $6398
637F: BD 46 66 :LDA $6646,X
6382: 18       :CLC
6383: 7D 55 66 :ADC $6655,X
6386: 9D 46 66 :STA $6646,X
6389: 99 00 D4 :STA $D400,Y
638C: BD 49 66 :LDA $6649,X
638F: 7D 58 66 :ADC $6658,X
6392: 9D 49 66 :STA $6649,X
6395: 99 01 D4 :STA $D401,Y
6398: BD 65 66 :LDA $6665,X
639B: F0 1D    :BEQ $1D
639D: BD 6B 66 :LDA $666B,X
63A0: BC F2 65 :LDY $65F2,X
63A3: D9 9E 66 :CMP $669E,Y
63A6: F0 09    :BEQ $09
63A8: B9 A5 66 :LDA $66A5,Y
63AB: FE 6B 66 :INC $666B,X
63AE: 4C B4 63 :JMP $63B4
63B1: BD 1C 66 :LDA $661C,X
63B4: BC 61 66 :LDY $6661,X
63B7: 99 04 D4 :STA $D404,Y
63BA: BD 2E 66 :LDA $662E,X
63BD: 99 03 D4 :STA $D403,Y
63C0: BD 2B 66 :LDA $662B,X
63C3: 99 02 D4 :STA $D402,Y
63C6: BD 4C 66 :LDA $664C,X
63C9: F0 03    :BEQ $03
63CB: 4C 89 64 :JMP $6489
63CE: BD FB 65 :LDA $65FB,X
63D1: D0 03    :BNE $03
63D3: 4C 89 64 :JMP $6489
63D6: BD 40 66 :LDA $6640,X
63D9: F0 06    :BEQ $06
63DB: DE 40 66 :DEC $6640,X
63DE: 4C 89 64 :JMP $6489
63E1: BD F5 65 :LDA $65F5,X
63E4: C9 02    :CMP #$02
63E6: D0 03    :BNE $03
63E8: 4C F5 63 :JMP $63F5
63EB: C9 01    :CMP #$01
63ED: D0 03    :BNE $03
63EF: 4C 2A 64 :JMP $642A
63F2: 4C 5F 64 :JMP $645F
63F5: 18       :CLC
63F6: BD 46 66 :LDA $6646,X
63F9: 7D FB 65 :ADC $65FB,X
63FC: 9D 46 66 :STA $6646,X
63FF: BD 49 66 :LDA $6649,X
6402: 69 00    :ADC #$00
6404: 9D 49 66 :STA $6649,X
6407: FE F8 65 :INC $65F8,X
640A: BD F8 65 :LDA $65F8,X
640D: DD FE 65 :CMP $65FE,X
6410: F0 03    :BEQ $03
6412: 4C 89 64 :JMP $6489
6415: A9 00    :LDA #$00
6417: 9D F8 65 :STA $65F8,X
641A: A9 01    :LDA #$01
641C: 9D F5 65 :STA $65F5,X
641F: BD FE 65 :LDA $65FE,X
6422: 18       :CLC
6423: 0A       :ASL A
6424: 9D FE 65 :STA $65FE,X
6427: 4C 89 64 :JMP $6489
642A: 38       :SEC
642B: BD 46 66 :LDA $6646,X
642E: FD FB 65 :SBC $65FB,X
6431: 9D 46 66 :STA $6646,X
6434: BD 49 66 :LDA $6649,X
6437: E9 00    :SBC #$00
6439: 9D 49 66 :STA $6649,X
643C: FE F8 65 :INC $65F8,X
643F: BD F8 65 :LDA $65F8,X
6442: DD FE 65 :CMP $65FE,X
6445: F0 03    :BEQ $03
6447: 4C 89 64 :JMP $6489
644A: A9 00    :LDA #$00
644C: 9D F8 65 :STA $65F8,X
644F: A9 00    :LDA #$00
6451: 9D F5 65 :STA $65F5,X
6454: BD FE 65 :LDA $65FE,X
6457: 18       :CLC
6458: 4A       :LSR A
6459: 9D FE 65 :STA $65FE,X
645C: 4C 89 64 :JMP $6489
645F: BD 46 66 :LDA $6646,X
6462: 18       :CLC
6463: 7D FB 65 :ADC $65FB,X
6466: 9D 46 66 :STA $6646,X
6469: BD 49 66 :LDA $6649,X
646C: 69 00    :ADC #$00
646E: 9D 49 66 :STA $6649,X
6471: FE F8 65 :INC $65F8,X
6474: BD F8 65 :LDA $65F8,X
6477: DD FE 65 :CMP $65FE,X
647A: F0 03    :BEQ $03
647C: 4C 89 64 :JMP $6489
647F: A9 02    :LDA #$02
6481: 9D F5 65 :STA $65F5,X
6484: A9 00    :LDA #$00
6486: 9D F8 65 :STA $65F8,X
6489: BD 1C 66 :LDA $661C,X
648C: C9 41    :CMP #$41
648E: D0 12    :BNE $12
6490: 18       :CLC
6491: BD 2B 66 :LDA $662B,X
6494: 7D 31 66 :ADC $6631,X
6497: 9D 2B 66 :STA $662B,X
649A: BD 2E 66 :LDA $662E,X
649D: 69 00    :ADC #$00
649F: 9D 2E 66 :STA $662E,X
64A2: AD 23 67 :LDA $6723
64A5: 18       :CLC
64A6: 6D 26 67 :ADC $6726
64A9: 8D 23 67 :STA $6723
64AC: 8D 15 D4 :STA $D415
64AF: AD 24 67 :LDA $6724
64B2: 6D 27 67 :ADC $6727
64B5: 8D 24 67 :STA $6724
64B8: 8D 16 D4 :STA $D416
64BB: CA       :DEX
64BC: 30 03    :BMI $03
64BE: 4C 18 60 :JMP $6018
64C1: 60       :RTS
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: SID6581 (sintetizador de audio del Commodore 64)
« Respuesta #14 en: 20 de Mayo de 2008, 08:03:36 »
2da y ultima parte:
Código: [Seleccionar]
-------
64C2: 16 27 38 4B
64C6: 5F 73 8A A1
64CA: BA D4 F0 0E
64CE: 2D 4E 71 96
64D2: BD E7 13 42
64D6: 74 A9 E0 1B
64DA: 5A 9B E2 2C
64DE: 7B CE 27 85
64E2: E8 51 C1 37
64E6: B4 37 C4 57
64EA: F5 9C 4E 09
64EE: D0 A3 82 6E
64F2: 68 6E 88 AF
64F6: EB 39 9C 13
64FA: A1 46 04 DC
64FE: D0 DC 10 5E
6502: D6 72 38 26
6506: 42 8C 08 B8
650A: A0 B8 20 BC
650E: AC E4 70 4C
6512: 84 18 10 70
6516: 40 70 40 78
651A: 58 C8 E0 98
651E: 08 30 20 2E
6522: 01 01 01 01
6526: 01 01 01 01
652A: 01 01 01 02
652E: 02 02 02 02
6532: 02 02 03 03
6536: 03 03 03 04
653A: 04 04 04 05
653E: 05 05 06 06
6542: 06 07 07 08
6546: 08 09 09 0A
654A: 0A 0B 0C 0D
654E: 0D 0E 0F 10
6552: 11 12 13 14
6556: 15 17 18 1A
655A: 1B 1D 1F 20
655E: 22 24 27 29
6562: 2B 2E 31 34
6566: 37 3A 3E 41
656A: 45 49 4E 52
656E: 57 5C 62 68
6572: 6E 75 7C 83
6576: 8B 93 9C A5
657A: AF B9 C4 D0
657E: DD EA F8 FD
6582: 00 00 00 00
6586: 00 00 00 00
-------
658A: AA       :TAX
658B: BD 2B 67 :LDA $672B,X
658E: 8D 28 67 :STA $6728
6591: 8D 29 67 :STA $6729
6594: 8D 2A 67 :STA $672A
6597: 8D 2B 60 :STA $602B
659A: BD 2D 67 :LDA $672D,X
659D: 8D 07 60 :STA $6007
65A0: BD 2F 67 :LDA $672F,X
65A3: 8D 74 60 :STA $6074
65A6: BD 31 67 :LDA $6731,X
65A9: 8D 0C 60 :STA $600C
65AC: 8A       :TXA
65AD: 0A       :ASL A
65AE: 8D B4 65 :STA $65B4
65B1: 0A       :ASL A
65B2: 18       :CLC
65B3: 69 00    :ADC #$00
65B5: AA       :TAX
65B6: A0 00    :LDY #$00
65B8: BD 3D 67 :LDA $673D,X
65BB: 99 37 67 :STA $6737,Y
65BE: E8       :INX
65BF: C8       :INY
65C0: C0 06    :CPY #$06
65C2: D0 F4    :BNE $F4
65C4: A2 02    :LDX #$02
65C6: A9 00    :LDA #$00
65C8: 9D 71 66 :STA $6671,X
65CB: 9D 74 66 :STA $6674,X
65CE: 9D 5B 66 :STA $665B,X
65D1: 9D 1C 66 :STA $661C,X
65D4: CA       :DEX
65D5: 10 F1    :BPL $F1
65D7: A9 01    :LDA #$01
65D9: 8D 33 67 :STA $6733
65DC: A2 17    :LDX #$17
65DE: A9 00    :LDA #$00
65E0: 10 00    :BPL $00
65E2: 9D 00 D4 :STA $D400,X
65E5: CA       :DEX
65E6: 10 FA    :BPL $FA
65E8: 60       :RTS
-------
65E9: 20 DC 65 A9
65ED: 00 8D 33 67
65F1: 60 02 00 01
65F5: 02 02 02 00
65F9: 00 00 3C 00
65FD: 00 03 02 02
6601: 03 02 02 00
6605: 00 00 00 02
6609: 00 00 02 00
660D: 00 00 00 00
6611: 01 00 00 05
6615: 00 00 02 00
6619: 00 00 00 00
661D: 41 41 00 41
6621: 00 00 81 00
6625: FF 0D 0A FF
6629: 0D 0A 00 60
662D: 00 04 37 07
6631: 40 78 40 00
6635: 00 00 00 00
6639: 00 00 04 00
663D: 00 04 00 00
6641: 00 00 00 00
6645: 00 E8 C4 5A
6649: 25 09 04 00
664D: 00 00 18 00
6651: 00 7D 00 00
6655: 58 00 00 00
6659: 00 00 0F 03
665D: 01 3C 26 18
6661: 00 07 0E 00
6665: 00 01 01 00
6669: 03 00 00 03
666D: 02 00 00 00
6671: 00 00 02 02
6675: 0C 0A 83 00
6679: 00 00 00 00
667D: 00 00 00 00
6681: 00 03 00 00
6685: 00 00 00 00
6689: 0A 00 00 00
668D: 00 00 00 0D
6691: 0A FF 0A 0D
6695: 0D 0D 0D 0A
6699: FF 0A CD 0D
669D: CD 03 02 00
66A1: 00 04 00 00
66A5: 15 81 00 00
66A9: 11 00 00 00
66AD: 30 00 00 00
66B1: 00 00 00 00
66B5: 00 01 00 00
66B9: 00 41 41 15
66BD: 41 43 41 41
66C1: 00 00 00 41
66C5: 00 00 00 00
66C9: 00 00 81 00
66CD: 00 00 00 00
66D1: 00 00 00 00
66D5: 00 10 06 04
66D9: 08 03 01 01
66DD: 78 40 02 00
66E1: 0C 40 40 00
66E5: 00 3C 00 5A
66E9: 14 3C 00 00
66ED: 03 00 03 02
66F1: 03 00 00 00
66F5: 00 00 00 00
66F9: 00 00 00 00
66FD: 00 00 00 00
6701: 00 00 00 00
6705: 00 18 02 00
6709: 00 01 00 00
670D: 00 01 00 00
6711: 00 00 00 00
6715: 05 00 00 12
6719: 00 00 00 02
671D: 00 00 00 00
6721: 00 00 00 00
6725: 00 00 00 01
6729: 01 01 04 02
672D: 0F 0F 00 00
6731: 00 00 01 22
6735: 09 04 71 92
6739: C7 67 67 67
673D: 71 92 C7 67
6741: 67 67 1C 25
6745: 37 68 68 68
6749: 48 4B 5E 72
674D: 95 B8 C9 DC
6751: F5 02 15 2F
6755: 36 6D 74 7D
6759: 84 8D CE D3
675D: 68 68 68 68
6761: 68 68 68 68
6765: 68 69 69 69
6769: 69 69 69 69
676D: 69 69 69 69
6771: 00 00 00 00
6775: 00 00 00 00
6779: 03 04 03 04
677D: 07 07 00 00
6781: 00 00 0A 0A
6785: FC 01 0A 0A
6789: FC 00 0A 0A
678D: 0A 0A 0C 0C
6791: FF 01 06 01
6795: 06 01 06 01
6799: 06 01 06 01
679D: 06 01 06 01
67A1: 06 01 06 0B
67A5: 0B 0B 0B 08
67A9: 08 08 08 08
67AD: 08 08 08 08
67B1: 08 08 08 08
67B5: 08 08 08 08
67B9: 08 08 08 08
67BD: 08 08 08 01
67C1: 01 01 01 01
67C5: 01 FF FC 00
67C9: 02 05 02 05
67CD: 02 05 02 05
67D1: 02 05 02 05
67D5: 02 05 02 05
67D9: 02 05 02 05
67DD: 02 05 09 09
67E1: 09 09 09 09
67E5: 09 09 09 09
67E9: 09 09 09 09
67ED: 09 09 09 09
67F1: 09 09 09 09
67F5: 09 09 09 09
67F9: 09 09 09 09
67FD: 09 09 09 09
6801: 09 09 09 09
6805: 09 09 09 09
6809: 09 09 09 09
680D: 09 09 09 09
6811: 09 09 09 09
6815: 09 09 09 09
6819: 02 FF FF 00
681D: 00 00 11 00
6821: 00 00 00 FE
6825: 0D 0D 0F 0F
6829: 0D 0D 0F 0F
682D: 0D 0D 0F 0F
6831: 12 00 00 00
6835: 00 FE 0E 0E
6839: 10 10 0E 0E
683D: 10 10 0E 0E
6841: 10 10 00 00
6845: 00 00 FE FC
6849: 1F FF FE 00
684D: 03 26 83 32
6851: 83 3E 83 4A
6855: 83 26 83 32
6859: 83 3E 83 4A
685D: FF FE 01 05
6861: 18 05 18 03
6865: 18 01 18 03
6869: 18 03 18 05
686D: 18 FF FC 07
6871: FF FE 01 01
6875: 30 01 2F 01
6879: 30 01 2B 01
687D: 30 01 2F 01
6881: 30 01 2B 01
6885: 30 01 2F 01
6889: 30 01 2B 01
688D: 30 01 2F 01
6891: 2D 01 2B FF
6895: FE 01 01 2D
6899: 01 2B 01 2D
689D: 01 28 01 2D
68A1: 01 2B 01 2D
68A5: 01 28 01 2D
68A9: 01 2B 01 2D
68AD: 01 28 01 2C
68B1: 01 2D 01 2E
68B5: 01 2F FF FE
68B9: 01 05 21 05
68BD: 21 03 21 01
68C1: 21 03 21 03
68C5: 21 05 21 FF
68C9: FE 00 03 23
68CD: 83 2F 83 3B
68D1: 83 47 83 23
68D5: 83 2F 83 3B
68D9: 83 47 FF FE
68DD: 02 1B 3C FD
68E1: 80 34 83 3C
68E5: 97 39 FC 07
68E9: 9B 3C FD 00
68ED: 58 83 3C 8F
68F1: 40 FC 0F FF
68F5: FE 03 07 26
68F9: 03 2A 03 2A
68FD: 07 26 07 2A
6901: FF FE 01 01
6905: 18 01 18 01
6909: 18 01 18 01
690D: 16 01 1B 01
6911: 16 01 17 FF
6915: FE 04 0B 30
6919: FD 00 20 83
691D: 30 87 32 FD
6921: 00 12 83 32
6925: FD 80 28 83
6929: 33 8F 30 FC
692D: 0F FF FE 03
6931: 07 26 17 26
6935: FF FE 04 0B
6939: 30 FD 00 28
693D: 83 30 87 33
6941: FD 00 30 07
6945: 33 9F 37 0B
6949: 3C FD 81 08
694D: 83 3C 8F 30
6951: 0B 3C FD 81
6955: 08 83 3C 87
6959: 33 FD 00 20
695D: 87 33 8F 37
6961: 07 35 FD 80
6965: 30 87 35 97
6969: 30 FC 07 FF
696D: FE 05 0F 21
6971: 0F 2D FF FC
6975: 07 FE 05 0F
6979: 28 07 28 FF
697D: FE 05 0F 1D
6981: 0F 29 FF FC
6985: 07 FE 05 0F
6989: 24 07 24 FF
698D: FC 0F FE 06
6991: FD 00 31 0F
6995: 35 8F 3B 0F
6999: 3C 0F 39 07
699D: 39 FD 80 30
69A1: 87 39 9F 34
69A5: 0B 37 01 35
69A9: 01 34 FD 00
69AD: 18 07 32 87
69B1: 34 1F 34 FD
69B5: 00 30 03 3B
69B9: 87 3C 07 3B
69BD: 0B 37 FD 00
69C1: 10 07 34 A7
69C5: 35 FD 80 12
69C9: 8F 35 8F 34
69CD: FF FE 05 0F
69D1: 21 FF

Parece mentira que con solo esos datos el SID toque esa musica! :)
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert