Saludos.
Estoy tratando de hacer un Codigo que me permita modificar la rom de una Commodore 64 pero bajo unos parametros definidos.
Es basico, el Arduino debe controlar dos senales a la ROM (LOW/HIGH), 2 LEDS (VERDE/AZUL) y enviar una senal a la linea de RESET (HIGH/LOW).
Todo seria manejado por un boton de 2 estados (ON/OFF)
Cuando el sistema se inicia si el Boton esta en ON envia una senal HIGH al pin A13 (LOW a A14) del ROM, enciende el LED Verde (Apaga Azul). Cuando el boton esta en OFF hace lo mismo pero a la inversa.
Ahora bien,
necesito que cada vez que cambie el estado del boton, despues de accionar los cambios arriba descritos, envie una senal a la linea RESET de la commodore, yo agregue eso pero tal como lo veo, voy a dejar la maquina reseteada eternamente porque esta en el loop.
Este es el codigo:
#define LED_Green 6
#define LED_Blue 7
#define BUTTON_PIN 8
#define A13 9
#define A14 10
#define RESET 11
//RUTINA PARA EL RESET
void resetC64() {
digitalWrite(RESET, LOW);
delay(200);
digitalWrite(RESET, HIGH);
void setup() {
pinMode(LED_Green, OUTPUT);
pinMode(LED_Blue, OUTPUT);
pinMode(BUTTON_PIN, INPUT);
pinMode (A13, OUTPUT);
pinMode (A14, OUTPUT);
pinMode (RESET, OUTPUT);
}
void loop() {
if (digitalRead(BUTTON_PIN) == HIGH) {
digitalWrite(LED_Green, HIGH);
digitalWrite(LED_Blue, LOW);
digitalWrite(A13, HIGH);
digitalWrite(A14, LOW);
resetC64();
}
else {
digitalWrite(LED_Green, LOW);
digitalWrite(LED_Blue, HIGH);
digitalWrite(A13, LOW);
digitalWrite(A14, HIGH);
resetC64()
}
}
Como podria hacer para que cuando ocurra el cambio de estado se produzca el reset solo una vez?
Muchas gracias, apreciaria cualquier ayuda.
