No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.
It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx
PD: en la entrada del blog lo describe bastante bien, yo pensaba que usaba un cartucho con mas memoria pero es de 1MB y usa cuantizacion vectorial para la compresión del audio.
No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.
It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx
Ya ves que yo no estaba equivocado: cuantizacion > cuántico
No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.
It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx
@swapd0 iba a poner "creo"... igual no me referia a que cada banco tenga 1mb, sino a que cada una de esas canciones que suenan son 1mb... (cada uno de los videos es una musica de 1mb), eso creo que es lo que lei... tendria que releer...
de hecho... mira... dice 1mb el tamaño de cada archivo...
https://youtu.be/QemnwGRFZJM?t=84
a los 84 segundos
Última edición por SplinterGU; 13/01/2020 a las 23:27
...
drumpi being drumpi
Bus de datos 8bits, bus de direcciones 16bits.
Cualquier cacharro de 8 bits que accede a mas de 64KB de memoria (da igual que sea RAM o ROM) lleva algún tipo de mapeo de memoria.
No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.
It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx
Sí, ya sé lo del bank switching, pero es algo que no he terminado de entender.
Me explico: con 16bits podemos direccionar 64KB de memoria. Para direccionar 16KB necesitamos 14bits, y si usamos 64 bancos, aun necesitamos 6 bits más, por lo tanto necesitamos un total de 20bits... sin contar con las direcciones del resto del HW mapeado (el chip de sonido, el puerto EXT... todo tiene una dirección de memoria para acceder).
¿Entiendo que el cartucho con el mapper tiene algún tipo de lógica programable, al que se le dice "activa el banco $xxxxxx" antes de empezar a pedirle datos de memoria? ¿O se le manda algún comando (8 bits por el bus de datos) cuyos dos primeros bits indican el cambio de banco, y los otros 6 bits el banco a activar?
Pues entonces sí que lo veo complicado hacerlo por ahí... aunque claro, estamos olvidando que el usar 48KHz es por el tema de muestreo (el doble de la frecuencia máxima a muestrear), realmente el oído no capta sonidos por encima de 22KHz, y es capaz de reconocer notas hasta bastante menos que eso, por lo que quizás sí que es posible que a 1MHz se pueda enviar información a suficiente velocidad, pero es una hipótesis. Como digo, creo más plausible crear el sonido en los generadores sinusoidales de sonido, sumar los tres canales y usar el cambio de frecuencias de forma dinámica para crear ondas sonoras más complejas.
Lo de cuantización vectorial ya va más allá de lo que sé ¿Tiene algo que ver con los módulos de las series de Fourier?
¿Hay entrada de blog explicándolo?
Yo intento entender, tu trolear... dicho desde el cariño, claro <- emoticono antiestress.
PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%
El bank switch es mucho mas simple. Por poner un ejemplo real, la Atari 7800 de la dirección $8000 a la $c000 (16KB) se mapean al cartucho y hay un mapper que si escribes en cualquiera de esas direcciones como es ROM y no tiene sentido lo interpreta como un cambio de banco. El valor escrito se usa como la parte alta de la dirección de memoria, por ejemplo 14bits son (16kB), si coges el byte de cambio de banco entero y no solo una parte, al final tendrás 8+14=22bits de direcciones, por lo que podrías acceder hasta 4MB.
Lo de la cualtizacion vectorial es bastante simple, sobretodo descomprimir el compresor es un poco mas puñetero. Al final lo que tienes en este caso son 256 vectores con 4 valores, representarían un minisample, esto es lo que se llama el "libro de códigos". Para descomprimir lees un byte y escribes los 4 valores que le corresponden mirando el libro de códigos.
-----Actualizado-----
Pero si en la entrada del blog tienes el código y todo.Código:.for (var i=0; i<61; i++) { l: nop sample: ldx $8300 + i*$100 ldy $8000,x lda sidtable,y sta $d418 inc sample +1 bit $ea ldy $8100,x lda sidtable,y sta $d418 sty $d020 ldy $8200,x lda ($fb),y //like lda sidtable,y but a cycle more ldy sample + 1 sta $d418 bne l jmp nextblock+1 .align 64 nextblock: }
No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.
It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx
Ajá. Gracias por decirme cómo funciona lo del bank switching.
Lo de la cuantización vectorial creía que iría más por lo que decía de Fourier, ya que dicha serie se puede transformar en "vectores" Veo que es algo más sencillo y que al final se obtienen directamente los valores de los samples.
Como digo, no había visto el blog. Tengo mi ASM un poco oxidado, y tendría que mirar el mapeo de memoria del C64 para entenderlo bien, pero es una lectura interesante .
Gracias por tus respuestas.
PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%
Marcadores