Moderador: Sir Cilve Sinclair
JULIO escribió:Hola.
Yo desde siempre he oido distinto las pulsaciones desde el menú que desde el Basic 48.
y las pulsaciones desde modo 128 y desde modo 48 nunca se han oido igual.
¿Será que desde el Basic en modo 48 no está activada la salida del AY y solo se usa el beeper no?
¿Es eso?
![]()
saludos
Julio.
zx_spectrum_plus3 escribió:Buenas.
He buscado referencias por la red sobre una curiosa característica en el sonido del +2A, y por extensión, de sus hermanos +3 y +2B, pese a que su circuito de sonido es diferente. El caso es que nunca he encontrado nada al respecto.
mcleod_ideafix escribió:zx_spectrum_plus3 escribió:Buenas.
He buscado referencias por la red sobre una curiosa característica en el sonido del +2A, y por extensión, de sus hermanos +3 y +2B, pese a que su circuito de sonido es diferente. El caso es que nunca he encontrado nada al respecto.
Das a entender que esto pasa en todos los +2A, pero... ¿con cuántos has probado esto?
jzx escribió:Podria ser que se queda en distinto estado el bit del mic?. Creo que se inicializa al principio de la rom, al poner el borde blanco, en la rom de 48k, pero no se si pasa por ahi en un new desde basic de 128k
Podrias probar a hacer un out de las dos formas antes del new, para comparar
jzx escribió:No vale lo del in 254. El puerto de salida 254 y el de entrada 254 no tienen nada que ver, se pueden influenciar un poco por la conexion analogica entre mic y ear, pero son dos cosas independientes. La idea era hacer un out 254 con ff y 00 para comparar antes del new.
De todas formas, he probado con un +2 gris (no tenía a mano uno negro) y no he notado diferencia, pero he descubierto que si antes del new haces un poke 23609, n, que es la variable de sistema que cambia el clic del teclado, se conserva al hacer el new y el menu suena distinto. Puede que al resetear la variable no se inicialice y quede con el valor que tiene la ram y que despues de haber pasado por el basic se inicialice. Parece raro, pero si al volver al menu con new se conserva el valor, al entrar al menu "de primeras", que tiene esa posicion? .
10 REM escribe 0 bit mic 0 bit ear
20 OUT 254,BIN 11100111: INPUT "algo"; a$
30 REM escribe 1 bit mic 0 bit ear
40 OUT 254,BIN 11101111: INPUT "algo"; a$
50 REM escribe 1 bit ear 0 bit mic
60 OUT 254,BIN 11110111: INPUT "algo"; a$
70 REM escribe 1 bit ear 1 bit mic
80 OUT 254,BIN 11111111: INPUT "algo"; a$
(...)
ld a,$07 ; equivale al caso de la línea 20 anterior (00)
OUT (FE),A
di ; disable interrupts
xor a ; pone A a 0
ld de,$ffff
jp $11cb ; salto a la rutina del comando NEW
jzx escribió:El port 254 (out) usa 5 bits, los tres bajos son el color del borde, el 3 es el mic y el 4 el ear. Ear y mic van al circuito de audio y dan distinto nivel (con el mic un nivel bajo para grabar en cassette, y con el ear, a pesar del nombre, un nivel mas alto para activar el altavoz interno). Esto se hizo así en la ula original para ahorrar un pin, en realidad dos porque se usa el mismo pin tambien para el load. En la "ula" de amstrad los pines de entrada y salida son independientes, pero se combinan en la placa por compatibilidad.
Si el bit de mic está activado o no cambia la polarización del circuito de audio y "suena" distinto por ejemplo si entra audio del cassette, pero si haces un beep el valor del bit de mic en principio se pierde, porque al hacer el out se ponen los 8 bits a la vez. De hecho para que no cambie el color del borde al hacer un beep o un clic de teclado hace falta guardar el valor de los bits del borde en una variable de sistema y luego al hacer el sonido añadirlos para formar el valor que se usa en el out. Lo que no se es si el valor del mic se guarda tambien o no (creo que no ...).
Otra cosa es la variable 23609, que es la que controla la duración del clic del teclado, que por lo que se ve si la modificas y luego haces new se conserva hasta entrar en el basic de nuevo. Es posible que al llegar al menu no se haya inicializado con ningún valor particular, o con el valor que deja el test de memoria y por eso despues de hacer el new "cambie". En ese caso un reset hardware puede hacer que se borre la memoria por falta de refresco, y el valor sea distinto al que tiene si se hace por ejemplo un usr 0.
Y otra cosa respecto al reset hardware, la linea de reset tambien va al chip de sonido y a la ula (no en la original) por lo que a lo mejor se resetea "algo" que afecte al sonido en la ula o en el ay.
O sea, tienes varias cosas distintas en caso de un reset hardware, el que el recorrido por la rom sea distinto, el que la memoria este o no inicializada, el que la linea de reset resetee cosas en la ula/ay3, y el que new no es un reset.
jzx escribió:Y has probado a hacer usr 0 en vez de new?
Usuarios navegando este Foro: No hay usuarios registrados visitando el Foro y 7 invitados